diff options
Diffstat (limited to 'source3/passdb')
-rw-r--r-- | source3/passdb/login_cache.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/passdb/login_cache.c b/source3/passdb/login_cache.c index fba5990d81..9a19dcf437 100644 --- a/source3/passdb/login_cache.c +++ b/source3/passdb/login_cache.c @@ -72,6 +72,10 @@ LOGIN_CACHE * login_cache_read(struct samu *sampass) if (!login_cache_init()) return NULL; + if (pdb_get_nt_username(sampass) == NULL) { + return NULL; + } + keybuf.dptr = SMB_STRDUP(pdb_get_nt_username(sampass)); if (!keybuf.dptr || !strlen(keybuf.dptr)) { SAFE_FREE(keybuf.dptr); @@ -117,6 +121,10 @@ BOOL login_cache_write(const struct samu *sampass, LOGIN_CACHE entry) if (!login_cache_init()) return False; + if (pdb_get_nt_username(sampass) == NULL) { + return False; + } + keybuf.dptr = SMB_STRDUP(pdb_get_nt_username(sampass)); if (!keybuf.dptr || !strlen(keybuf.dptr)) { SAFE_FREE(keybuf.dptr); @@ -163,6 +171,10 @@ BOOL login_cache_delentry(const struct samu *sampass) if (!login_cache_init()) return False; + if (pdb_get_nt_username(sampass) == NULL) { + return False; + } + keybuf.dptr = SMB_STRDUP(pdb_get_nt_username(sampass)); if (!keybuf.dptr || !strlen(keybuf.dptr)) { SAFE_FREE(keybuf.dptr); |