Fix bug #7155 - valgrind Conditional jump or move depends on uninitialised value...
authorJeremy Allison <jra@samba.org>
Thu, 18 Feb 2010 20:21:10 +0000 (12:21 -0800)
committerKarolin Seeger <kseeger@samba.org>
Fri, 19 Feb 2010 08:19:14 +0000 (09:19 +0100)
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)

source3/smbd/mangle_hash.c

index 6679b31e9ce4203c420108e6cee20a9e3d4fd562..679487d94ed89b0bca5de57ca9bf6e64416f69f9 100644 (file)
@@ -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;