I've just started using openssl, and have been having some problems with valgrind. Here's my distilled test program:

#include <openssl-1.0.0e/include/openssl/hmac.h>
#include <openssl-1.0.0e/include/openssl/evp.h>
#include <string.h>

char  key[20] = { 0 };

int
main()
{
    HMAC_CTX *  context;

    context = (HMAC_CTX *) malloc(sizeof(*context));

    HMAC_CTX_init(context);
    HMAC_Init_ex(context, key, sizeof(key), EVP_sha1(), NULL);
    return 0;
}


I used ./config for setup on RedHat, and got linux-elf as my configuration.

To compile the test program:

g++ -o ot -ggdb -I/home/bertoni/src/ ot.c -L. -ltestcrypto -ldl

after installing libcrypto.a as libtestcrypto.a

When I run it under valgrind, I get errors:


==30797== Invalid write of size 1
==30797==    at 0x400655C: memset (mc_replace_strmem.c:479)
==30797==    by 0x804959D: HMAC_Init_ex (hmac.c:100)
==30797==  Address 0x40160E0 is 0 bytes after a block of size 184 alloc'd
==30797==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==30797==    by 0x80491F0: main (ot.c:12)

and so on.

The hmactest program run is clean, so I'm not sure what I'm doing incorrectly.. Any pointers would be appreciated.

Jon Bertoni
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to