Hi everybody,

I'm using OpenSSL 0.9.8i in an embedded project and I have a question
related to the (relatively new?) functions to perform AES key wrapping
resp. unwrapping.  Are these functions meant to be used for in-place
operation, i.e. the source and destination buffers are the same?  Looking
at the sources in aes_wrap.c, I'd say they are not at the moment, because
of a memcpy() right at the beginning:

 memcpy(out + 8, in, inlen);

resp.

 memcpy(out, in + 8, inlen);

If in and out point tho the same location, this will result in a memcpy of
overlapping memory regions, which leads to undefined behaviour.  Would it
be sufficient to replace these memcpy() calls with memmove()?  I didn't
find any documentation about these function in the doc/ subdirectory.

Best regards

Alfred Arnold

-- 
Alfred Arnold                   E-Mail: [EMAIL PROTECTED]
Computer Club at the            http://john.ccac.rwth-aachen.de:8000/alf/
Technical University
of Aachen
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to