diff --git a/crypto/buffer/buffer.c b/crypto/buffer/buffer.c index a16f3bd342631951ac4d616ff87c482f3c192bf7..1c76d662a65b0e8680d52beb9a4cb80dfa4ea9cd 100644 --- a/crypto/buffer/buffer.c +++ b/crypto/buffer/buffer.c @@ -128,7 +128,8 @@ size_t BUF_MEM_grow(BUF_MEM *str, size_t len) return (len); } if (str->max >= len) { - memset(&str->data[str->length], 0, len - str->length); + if (str->data != NULL) + memset(&str->data[str->length], 0, len - str->length); str->length = len; return (len); } @@ -160,7 +161,8 @@ size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len) size_t n; if (str->length >= len) { - memset(&str->data[len], 0, str->length - len); + if (str->data != NULL) + memset(&str->data[len], 0, str->length - len); str->length = len; return (len); }