Vanilla Development Maling List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS update: Vanilla/tools



Date:	Wednesday June 16, 1999 @ 16:19
Author:	unbelver

Update of /home/netrek/cvsroot/Vanilla/tools
In directory cvs.castle.real-time.com:/var/tmp/cvs-serv6921

Modified Files:
	players.c 
Log Message:

Random bug fix.  Inconsequential.  Null pointer checking and memory
leak fixed.  (name_fix)

--Carlos V.



****************************************

Index: Vanilla/tools/players.c
diff -u Vanilla/tools/players.c:1.2 Vanilla/tools/players.c:1.3
--- Vanilla/tools/players.c:1.2	Fri Apr 30 15:19:12 1999
+++ Vanilla/tools/players.c	Wed Jun 16 16:19:08 1999
@@ -40,7 +40,8 @@
     int teams[9];
     float totalRatings;
     float hours;
-    
+    char *fixed_name;
+ 
     if (argc>1) {
 	mode= *(argv[1]);
 	out = 0;
@@ -121,13 +122,15 @@
 #endif
 	    break;
 	  case 'm':
+            fixed_name = name_fix(players[i].p_name);
 	    output("  %2s: %-10s %-16s %-10s %-24s  %2s\n",
 		   players[i].p_mapchars, 
 		   ranks[players[i].p_stats.st_rank].name,
-		   name_fix(players[i].p_name),
+		   (fixed_name) ? fixed_name : players[i].p_name,
 		   str(10,players[i].p_login),
 		   str(-24, players[i].p_monitor),
 		   ships[players[i].p_ship.s_type]);
+            free(fixed_name);
 	    break;
 	  default:
 	    strncpy(monitor, players[i].p_monitor, NAME_LEN);
@@ -163,6 +166,8 @@
    char *new = strdup(name);                    /* xx, never freed */
    register
    char *r = new;
+
+   if(!new) return new;                         /* don't play with null ptr */
 
    while(*name){
       *r++ = (*name <= 32)?'_':*name;