diff options
author | Bruce Momjian <bruce@momjian.us> | 2014-04-17 12:37:53 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2014-04-17 12:37:53 -0400 |
commit | 9fe55259fd61fd9199907623f974caa7af66e780 (patch) | |
tree | 2d2d7fc333474267d375ca35db482b8a4e42e253 /contrib/pgcrypto/internal.c | |
parent | 83defef8c794e7772e4099a7efa2ebac3c62742c (diff) | |
download | postgresql-9fe55259fd61fd9199907623f974caa7af66e780.tar.gz postgresql-9fe55259fd61fd9199907623f974caa7af66e780.zip |
pgcrypto: fix memset() calls that might be optimized away
Specifically, on-stack memset() might be removed, so:
* Replace memset() with px_memset()
* Add px_memset to copy_crlf()
* Add px_memset to pgp-s2k.c
Patch by Marko Kreen
Report by PVS-Studio
Backpatch through 8.4.
Diffstat (limited to 'contrib/pgcrypto/internal.c')
-rw-r--r-- | contrib/pgcrypto/internal.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/contrib/pgcrypto/internal.c b/contrib/pgcrypto/internal.c index a02c943e049..7b33e496d41 100644 --- a/contrib/pgcrypto/internal.c +++ b/contrib/pgcrypto/internal.c @@ -142,7 +142,7 @@ int_md5_free(PX_MD *h) { MD5_CTX *ctx = (MD5_CTX *) h->p.ptr; - memset(ctx, 0, sizeof(*ctx)); + px_memset(ctx, 0, sizeof(*ctx)); px_free(ctx); px_free(h); } @@ -190,7 +190,7 @@ int_sha1_free(PX_MD *h) { SHA1_CTX *ctx = (SHA1_CTX *) h->p.ptr; - memset(ctx, 0, sizeof(*ctx)); + px_memset(ctx, 0, sizeof(*ctx)); px_free(ctx); px_free(h); } @@ -265,7 +265,7 @@ intctx_free(PX_Cipher *c) if (cx) { - memset(cx, 0, sizeof *cx); + px_memset(cx, 0, sizeof *cx); px_free(cx); } px_free(c); @@ -658,7 +658,7 @@ system_reseed(void) skip = buf[0] >= SYSTEM_RESEED_CHANCE; } /* clear 1 byte */ - memset(buf, 0, sizeof(buf)); + px_memset(buf, 0, sizeof(buf)); if (skip) return; @@ -668,7 +668,7 @@ system_reseed(void) fortuna_add_entropy(buf, n); seed_time = t; - memset(buf, 0, sizeof(buf)); + px_memset(buf, 0, sizeof(buf)); } int |