BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
bmem = BIO_new(BIO_s_mem());
+ if (bmem == NULL) {
+ _ERR("BIO_new with BIO_s_mem failed ");
+ BIO_free(b64);
+ return -1;
+ }
b64 = BIO_push(b64, bmem);
BIO_write(b64, input, inlen);
BIO_flush(b64);
_ERR("BIO_new_mem_buf failed");
SAFE_DELETE(base64);
+ BIO_free(b64);
return -1;
}
_ERR("BIO_read failed");
SAFE_DELETE(base64);
+ BIO_free_all(b64);
return -1;
}
BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL);
bmem = BIO_new(BIO_s_mem());
+ if (bmem == NULL) {
+ _ERR("BIO_new failed \n");
+ free(output);
+ BIO_free(b64);
+ return NULL;
+ }
b64 = BIO_push(b64, bmem);
BIO_write(b64, input, ip_len);
BIO_flush(b64);
memcpy(output, bptr->data, bptr->length);
output[bptr->length] = 0;
- if (b64)
- BIO_free_all(b64);
+ BIO_free_all(b64);
return (char*)output;
}
(*decoded_data) = (unsigned char *) calloc((*decoded_size) * 1.5, sizeof(char));
BIO *bmem = BIO_new_mem_buf((void *) encoded_data, (*decoded_size));
+ if (bmem == NULL) {
+ _ERR("BIO_new failed \n");
+ return -1;
+ }
BIO *bioCmd = BIO_new(BIO_f_base64());
+ if (bioCmd == NULL) {
+ _ERR("BIO_new failed \n");
+ BIO_free(bmem);
+ return -1;
+ }
BIO_set_flags(bioCmd, BIO_FLAGS_BASE64_NO_NL);