Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23953/src

Modified Files:
	cowmain.c parsemeta.c 
Log Message:
Add sanity check on server status in metarefresh() so it doesn't fall out of bounds.

Index: cowmain.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/cowmain.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- cowmain.c	29 Nov 2006 12:06:34 -0000	1.17
+++ cowmain.c	1 Dec 2006 00:43:11 -0000	1.18
@@ -656,7 +656,7 @@
         parsemeta(metaType);
     }
 #endif
-  
+
     fed_ship_bmp = "bitmaps/shiplib/fedship.bmp";
     if ((stringDefault ("fedshipbmpfile")) != NULL)
         fed_ship_bmp = stringDefault ("fedshipbmpfile");

Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- parsemeta.c	30 Nov 2006 01:25:05 -0000	1.17
+++ parsemeta.c	1 Dec 2006 00:43:11 -0000	1.18
@@ -839,7 +839,7 @@
   FILE *cache;
   char *cacheName;
   char cacheFileName[PATH_MAX];
-  int  i;
+  int  i, j;
 
   cacheName = stringDefault("metaUDPCache");
 
@@ -877,8 +877,6 @@
   /* hunt and kill old server lines from cache */
   for(i=0;i<num_servers;i++)
   {
-      int j;
-
       /* mark each server as needing to be refreshed */
       serverlist[i].refresh = 1;
 
@@ -1232,6 +1230,10 @@
     }
 #endif
 
+    /* Ensure status field not out of bounds */
+    if (sp->status < statusOpen || sp->status > statusConnecting)
+        sp->status = statusNull;
+
     sprintf(buf + strlen (buf), "%14s ", statusStrings[sp->status]);
 
     if (sp->status == statusConnecting) color = W_Yellow;