Second part of bug 7045 - Bad (non memory copying) interfaces in smbc_setXXXX calls.
authorJeremy Allison <jra@samba.org>
Sat, 16 Jan 2010 01:33:24 +0000 (17:33 -0800)
committerJeremy Allison <jra@samba.org>
Sat, 16 Jan 2010 01:33:24 +0000 (17:33 -0800)
Protect against SMB_STRDUP of null...

Jeremy.

source3/libsmb/libsmb_setget.c

index 3ef707863f13eea9fa4da330bcdc9a4c88ccf65a..791b4cd9e4675ef7018a19b57829604748f56dfa 100644 (file)
@@ -40,7 +40,9 @@ void
 smbc_setNetbiosName(SMBCCTX *c, char * netbios_name)
 {
        SAFE_FREE(c->netbios_name);
-       c->netbios_name = SMB_STRDUP(netbios_name);
+       if (netbios_name) {
+               c->netbios_name = SMB_STRDUP(netbios_name);
+       }
 }
 
 /** Get the workgroup used for making connections */
@@ -55,7 +57,9 @@ void
 smbc_setWorkgroup(SMBCCTX *c, char * workgroup)
 {
        SAFE_FREE(c->workgroup);
-       c->workgroup = SMB_STRDUP(workgroup);
+       if (workgroup) {
+               c->workgroup = SMB_STRDUP(workgroup);
+       }
 }
 
 /** Get the username used for making connections */
@@ -70,7 +74,9 @@ void
 smbc_setUser(SMBCCTX *c, char * user)
 {
        SAFE_FREE(c->user);
-       c->user = SMB_STRDUP(user);
+       if (user) {
+               c->user = SMB_STRDUP(user);
+       }
 }
 
 /** Get the debug level */