2626 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2727 * SUCH DAMAGE.
2828 *
29- * $PostgreSQL: pgsql/contrib/pgcrypto/internal.c,v 1.20 2005/07/11 15:07:59 tgl Exp $
29+ * $PostgreSQL: pgsql/contrib/pgcrypto/internal.c,v 1.21 2005/07/18 17:09:01 tgl Exp $
3030 */
3131
3232#include "postgres.h"
@@ -127,6 +127,7 @@ int_md5_free(PX_MD * h)
127127{
128128MD5_CTX * ctx = (MD5_CTX * )h -> p .ptr ;
129129
130+ memset (ctx ,0 ,sizeof (* ctx ));
130131px_free (ctx );
131132px_free (h );
132133}
@@ -174,6 +175,7 @@ int_sha1_free(PX_MD * h)
174175{
175176SHA1_CTX * ctx = (SHA1_CTX * )h -> p .ptr ;
176177
178+ memset (ctx ,0 ,sizeof (* ctx ));
177179px_free (ctx );
178180px_free (h );
179181}
@@ -221,6 +223,7 @@ int_sha256_free(PX_MD * h)
221223{
222224SHA256_CTX * ctx = (SHA256_CTX * )h -> p .ptr ;
223225
226+ memset (ctx ,0 ,sizeof (* ctx ));
224227px_free (ctx );
225228px_free (h );
226229}
@@ -267,6 +270,7 @@ int_sha384_free(PX_MD * h)
267270{
268271SHA384_CTX * ctx = (SHA384_CTX * )h -> p .ptr ;
269272
273+ memset (ctx ,0 ,sizeof (* ctx ));
270274px_free (ctx );
271275px_free (h );
272276}
@@ -314,6 +318,7 @@ int_sha512_free(PX_MD * h)
314318{
315319SHA512_CTX * ctx = (SHA512_CTX * )h -> p .ptr ;
316320
321+ memset (ctx ,0 ,sizeof (* ctx ));
317322px_free (ctx );
318323px_free (h );
319324}
@@ -326,6 +331,7 @@ init_md5(PX_MD * md)
326331MD5_CTX * ctx ;
327332
328333ctx = px_alloc (sizeof (* ctx ));
334+ memset (ctx ,0 ,sizeof (* ctx ));
329335
330336md -> p .ptr = ctx ;
331337
@@ -345,6 +351,7 @@ init_sha1(PX_MD * md)
345351SHA1_CTX * ctx ;
346352
347353ctx = px_alloc (sizeof (* ctx ));
354+ memset (ctx ,0 ,sizeof (* ctx ));
348355
349356md -> p .ptr = ctx ;
350357
@@ -364,6 +371,7 @@ init_sha256(PX_MD * md)
364371SHA256_CTX * ctx ;
365372
366373ctx = px_alloc (sizeof (* ctx ));
374+ memset (ctx ,0 ,sizeof (* ctx ));
367375
368376md -> p .ptr = ctx ;
369377
@@ -383,6 +391,7 @@ init_sha384(PX_MD * md)
383391SHA384_CTX * ctx ;
384392
385393ctx = px_alloc (sizeof (* ctx ));
394+ memset (ctx ,0 ,sizeof (* ctx ));
386395
387396md -> p .ptr = ctx ;
388397
@@ -402,6 +411,7 @@ init_sha512(PX_MD * md)
402411SHA512_CTX * ctx ;
403412
404413ctx = px_alloc (sizeof (* ctx ));
414+ memset (ctx ,0 ,sizeof (* ctx ));
405415
406416md -> p .ptr = ctx ;
407417
@@ -829,6 +839,7 @@ static void system_reseed(void)
829839fortuna_add_entropy (SYSTEM_ENTROPY ,buf ,n );
830840
831841seed_time = t ;
842+ memset (buf ,0 ,sizeof (buf ));
832843}
833844
834845int