X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcbase64.c;h=ba9b2c8de95f20f8cf1e6b52c19149ab0473a43b;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=c5c4242e8a1c3d65532541973479054f7f089963;hpb=befeb8f188a4a533bb8761d8cb4b02f2241c3bee;p=silc.git diff --git a/lib/silcutil/silcbase64.c b/lib/silcutil/silcbase64.c index c5c4242e..ba9b2c8d 100644 --- a/lib/silcutil/silcbase64.c +++ b/lib/silcutil/silcbase64.c @@ -36,6 +36,8 @@ char *silc_base64_encode(SilcStack stack, unsigned char *data, SilcUInt32 len) j = 0; pem = silc_scalloc(stack, ((len * 8 + 5) / 6) + 5, sizeof(*pem)); + if (!pem) + return NULL; for (i = 0; i < len; i++) { c = data[i]; @@ -127,6 +129,8 @@ unsigned char *silc_base64_decode(SilcStack stack, len = base64_len; data = silc_scalloc(stack, ((len * 6) / 8), sizeof(*data)); + if (!data) + return NULL; for (i = 0; i < len; i++) { c = base64[i]; @@ -151,9 +155,10 @@ unsigned char *silc_base64_decode(SilcStack stack, } } - switch(char_count) { + switch (char_count) { case 1: silc_sfree(stack, data); + silc_set_errno(SILC_ERR_BAD_ENCODING); return NULL; break; case 2: