chiark / gitweb /
@@ -1,3 +1,9 @@
[userv.git] / servexec.c
index ad877f42cc9cb7f2469d47a1b1a1cfab5efe522b..01353cdaab6c643b8fb09f93b1aa141793574b4e 100644 (file)
@@ -71,7 +71,7 @@ void bisexec_version(const char *const *argv) {
   const unsigned char *p;
   int i;
   
-  printf("uservd version " VERSION VEREXT "; copyright (C)1996-1997 Ian Jackson.\n"
+  printf("uservd version " VERSION VEREXT "; copyright (C)1996-2000 Ian Jackson.\n"
 #ifdef DEBUG
         "DEBUGGING VERSION"
 #else
@@ -266,7 +266,8 @@ void execservice(const int synchsocket[], int clientfd) {
     fdarray[fd].holdfd= -1;
   }
   for (fd=0; fd<fdarrayused; fd++) {
-    if (fdarray[fd].realfd < fdarrayused) fdarray[fdarray[fd].realfd].holdfd= fd;
+    if (fdarray[fd].realfd < fdarrayused && fdarray[fd].realfd >= 0)
+      fdarray[fdarray[fd].realfd].holdfd= fd;
   }
   for (fd=0; fd<fdarrayused; fd++) {
     realfd= fdarray[fd].realfd;