[sanitizer_common] Fix sha2 interceptors not to use vars in array len
Fix the sha2 interceptor macros to use a constant for array parameter length rather than referencing the extern variable. Since the digest length is provided in hash name, reuse the macro parameter for it. Verify that the calculated value matches the one provided by system headers. Differential Revision: https://reviews.llvm.org/D55811 llvm-svn: 349645
This commit is contained in:
parent
ce28791e20
commit
0f71c17e7c
|
@ -8511,9 +8511,10 @@ INTERCEPTOR(char *, MD2Data, const unsigned char *data, unsigned int len,
|
|||
if (context) \
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, context, SHA##LEN##_CTX_sz); \
|
||||
} \
|
||||
INTERCEPTOR(void, SHA##LEN##_Final, u8 digest[SHA##LEN##_digest_length], \
|
||||
INTERCEPTOR(void, SHA##LEN##_Final, u8 digest[LEN/8], \
|
||||
void *context) { \
|
||||
void *ctx; \
|
||||
CHECK_EQ(SHA##LEN##_digest_length, LEN/8); \
|
||||
COMMON_INTERCEPTOR_ENTER(ctx, SHA##LEN##_Final, digest, context); \
|
||||
if (context) \
|
||||
COMMON_INTERCEPTOR_READ_RANGE(ctx, context, SHA##LEN##_CTX_sz); \
|
||||
|
|
Loading…
Reference in New Issue