diff options
author | Jeremy Allison <jra@samba.org> | 2010-02-18 11:22:44 -0800 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2010-02-19 09:23:34 +0100 |
commit | e904ccd25a3b7050a8d1895c9535e42abd0b4d07 (patch) | |
tree | d4162b83175d65c4045886f89361fb62918fa983 | |
parent | 80d9663b3635ed7b2e9b3308d27aed08cd1f38fb (diff) | |
download | samba-e904ccd25a3b7050a8d1895c9535e42abd0b4d07.tar.gz |
Fix bug #7154 - mangling method = hash can crash storing a name not containing a '.'
Fix use of uninitialized variable. This can lead to crashes if
mangling = hash processes names with no '.'.
Jeremy.
(cherry picked from commit df13b1303a751962d8f7d5298b39e4a7500fef15)
-rw-r--r-- | source/smbd/mangle_hash.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/smbd/mangle_hash.c b/source/smbd/mangle_hash.c index e081a57484a..31e734de9dd 100644 --- a/source/smbd/mangle_hash.c +++ b/source/smbd/mangle_hash.c @@ -412,8 +412,8 @@ static void cache_mangled_name( const char mangled_name[13], { TDB_DATA data_val; char mangled_name_key[13]; - char *s1; - char *s2; + char *s1 = NULL; + char *s2 = NULL; /* If the cache isn't initialized, give up. */ if( !tdb_mangled_cache ) @@ -452,7 +452,9 @@ static void cache_mangled_name( const char mangled_name[13], DEBUG(5,("cache_mangled_name: Stored entry %s -> %s\n", mangled_name_key, raw_name)); } /* Restore the change we made to the const string. */ - *s2 = '.'; + if (s2) { + *s2 = '.'; + } } /* ************************************************************************** ** |