Try calling EVP_CIPHER_CTX_cleanup(&ctx) at the end... --- Felix Dorner <[EMAIL PROTECTED]> wrote:
> Hi, > > the following code executes once, and does fine. > Calling the function a > second time gives a segfault during the call marked > by "-->" > > unsigned char *encrypt_message(unsigned char > *message, int inl, int *outl) > { > EVP_CIPHER_CTX ctx; > EVP_CIPHER_CTX_init(&ctx); > -->EVP_EncryptInit(&ctx, EVP_bf_ecb(), NULL, > NULL); > EVP_CIPHER_CTX_set_key_length(&ctx, > SHA_DIGEST_LENGTH); > EVP_EncryptInit(&ctx, NULL, k, NULL); > char *ret; > int tmp, ol; > ol = 0; > ret = (char *)malloc(inl + > EVP_CIPHER_CTX_block_size(&ctx)); > EVP_EncryptUpdate(&ctx, &ret[ol], &tmp, > message, inl); > ol = tmp; > EVP_EncryptFinal(&ctx, &ret[ol], &tmp); > *outl = ol+tmp; > return ret; > } > > > Anything obvious that might lead to the segfault? > > Thanks, > Felix > ______________________________________________________________________ > OpenSSL Project > http://www.openssl.org > User Support Mailing List > openssl-users@openssl.org > Automated List Manager > [EMAIL PROTECTED] > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]