- sorry, forgot to test a pointer
authorSimo Sorce <idra@samba.org>
Tue, 3 Jul 2001 00:23:38 +0000 (00:23 +0000)
committerSimo Sorce <idra@samba.org>
Tue, 3 Jul 2001 00:23:38 +0000 (00:23 +0000)
source/nmbd/nmbd.c

index 2969c332d57cca0fcf87f98898f91d938685792c..8a6bf383d1876bf24f52ba9a99b52c4113b4bacb 100644 (file)
@@ -569,8 +569,10 @@ static BOOL init_structs(void)
    */
   /* Work out the max number of netbios aliases that we have */
   ptr = lp_netbios_aliases();
-  for( namecount=0; *ptr; namecount++,ptr++ )
-    ;
+  namecount = 0;
+  if (ptr)
+    for( ; *ptr; namecount++,ptr++ )
+      ;
   if ( *global_myname )
     namecount++;
 
@@ -588,28 +590,31 @@ static BOOL init_structs(void)
     my_netbios_names[namecount++] = global_myname;
   
   ptr = lp_netbios_aliases();
-  while ( *ptr )
+  if (ptr)
   {
-    nbname = strdup(*ptr);
-    if (nbname == NULL)
+    while ( *ptr )
     {
-      DEBUG(0,("init_structs: malloc fail when allocating names.\n"));
-      return False;
+      nbname = strdup(*ptr);
+      if (nbname == NULL)
+      {
+        DEBUG(0,("init_structs: malloc fail when allocating names.\n"));
+        return False;
+      }
+      strupper( nbname );
+      /* Look for duplicates */
+      nodup=1;
+      for( n=0; n<namecount; n++ )
+      {
+        if( 0 == strcmp( nbname, my_netbios_names[n] ) )
+          nodup=0;
+      }
+      if (nodup)
+        my_netbios_names[namecount++] = nbname;
+      else
+        free(nbname);
+
+      ptr++;
     }
-    strupper( nbname );
-    /* Look for duplicates */
-    nodup=1;
-    for( n=0; n<namecount; n++ )
-    {
-      if( 0 == strcmp( nbname, my_netbios_names[n] ) )
-        nodup=0;
-    }
-    if (nodup)
-      my_netbios_names[namecount++] = nbname;
-    else
-      free(nbname);
-
-    ptr++;
   }
   
   /* Terminate name list */