X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fmem_clr.c;h=e6450a12fe594691e238d940c12439c7da65ccc3;hp=3df1f3928d06881630978c8a688ede833f39fe4c;hb=9e58d1192da2dbd6544f73f73362db6ae9f2c045;hpb=0f113f3ee4d629ef9a4a30911b22b224772085e5 diff --git a/crypto/mem_clr.c b/crypto/mem_clr.c index 3df1f3928d..e6450a12fe 100644 --- a/crypto/mem_clr.c +++ b/crypto/mem_clr.c @@ -1,4 +1,3 @@ -/* crypto/mem_clr.c -*- mode:C; c-file-style: "eay" -*- */ /* * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project * 2002. @@ -60,12 +59,17 @@ #include #include +extern unsigned char cleanse_ctr; unsigned char cleanse_ctr = 0; void OPENSSL_cleanse(void *ptr, size_t len) { unsigned char *p = ptr; size_t loop = len, ctr = cleanse_ctr; + + if (ptr == NULL) + return; + while (loop--) { *(p++) = (unsigned char)ctr; ctr += (17 + ((size_t)p & 0xF));