summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-02-18 12:21:10 -0800
committerKarolin Seeger <kseeger@samba.org>2010-02-22 15:50:35 +0100
commitcf789124b2f29f999de1519df0e8698345104bcb (patch)
tree8a16885548fcb860a2912ffa79f46ef6218e5d74
parent615a5e83ee409fb196252984d697018241e1de62 (diff)
downloadsamba-cf789124b2f29f999de1519df0e8698345104bcb.tar.gz
samba-cf789124b2f29f999de1519df0e8698345104bcb.tar.xz
samba-cf789124b2f29f999de1519df0e8698345104bcb.zip
Fix bug #7155 - valgrind Conditional jump or move depends on uninitialised value(s) error when "mangling method = hash"
The charset array allocated in init_chartest() is allocated by MALLOC, but only some elements of it being set after allocation. Fix is to memset to zero after allocation. Jeremy. (cherry picked from commit a4e8210ba7d6d471cb9f17754244393b9c1e5930) (cherry picked from commit fcca63d5fd0b900bc4bdcfbfb21b14f655abbbf7)
-rw-r--r--source3/smbd/mangle_hash.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source3/smbd/mangle_hash.c b/source3/smbd/mangle_hash.c
index 6679b31e9ce..679487d94ed 100644
--- a/source3/smbd/mangle_hash.c
+++ b/source3/smbd/mangle_hash.c
@@ -331,6 +331,7 @@ static void init_chartest( void )
chartest = SMB_MALLOC_ARRAY(unsigned char, 256);
SMB_ASSERT(chartest != NULL);
+ memset(chartest, '\0', 256);
for( s = (const unsigned char *)basechars; *s; s++ ) {
chartest[*s] |= BASECHAR_MASK;