diff options
author | deraadt <> | 2014-06-01 15:10:53 +0000 |
---|---|---|
committer | deraadt <> | 2014-06-01 15:10:53 +0000 |
commit | 717067e4cee6765e5c81f8fe6701a5d4741d6e76 (patch) | |
tree | bc12934adc4c0e00a726ccf40c62146741fd5626 /src/lib/libcrypto/buffer/buffer.c | |
parent | 6b8bbf5f4a65c20c4b46db917994f581df398522 (diff) | |
download | openbsd-717067e4cee6765e5c81f8fe6701a5d4741d6e76.tar.gz openbsd-717067e4cee6765e5c81f8fe6701a5d4741d6e76.tar.bz2 openbsd-717067e4cee6765e5c81f8fe6701a5d4741d6e76.zip |
Commit this before the head-scratching leads to premature baldness:
memset(a->data, 0, (unsigned int)a->max);
but the decl is:
size_t max;
size_t could be larger than int, especially in some of the systems OpenSSL
purports to support.
How do _intentionally truncating_ casts like enter into a codebase?
Lack of understanding of C, at a minimum. Generally the objects are
small, but this code is _intentionally unready_ for large objects.
ok miod
Diffstat (limited to 'src/lib/libcrypto/buffer/buffer.c')
-rw-r--r-- | src/lib/libcrypto/buffer/buffer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c index 486d6fef14..71784693be 100644 --- a/src/lib/libcrypto/buffer/buffer.c +++ b/src/lib/libcrypto/buffer/buffer.c | |||
@@ -88,7 +88,7 @@ BUF_MEM_free(BUF_MEM *a) | |||
88 | return; | 88 | return; |
89 | 89 | ||
90 | if (a->data != NULL) { | 90 | if (a->data != NULL) { |
91 | memset(a->data, 0, (unsigned int)a->max); | 91 | memset(a->data, 0, a->max); |
92 | free(a->data); | 92 | free(a->data); |
93 | } | 93 | } |
94 | free(a); | 94 | free(a); |