remove sigio blocking
[bpt/emacs.git] / nt / cmdproxy.c
index 0674a3f..e48ca63 100644 (file)
@@ -292,11 +292,15 @@ make_absolute (const char *prog)
 
   while (*path)
     {
+      size_t len;
+
       /* Get next directory from path.  */
       p = path;
       while (*p && *p != ';') p++;
-      strncpy (dir, path, p - path);
-      dir[p - path] = '\0';
+      /* A broken PATH could have too long directory names in it.  */
+      len = min (p - path, sizeof (dir) - 1);
+      strncpy (dir, path, len);
+      dir[len] = '\0';
 
       /* Search the directory for the program.  */
       if (search_dir (dir, prog, MAX_PATH, absname) > 0)
@@ -319,7 +323,7 @@ try_dequote_cmdline (char* cmdline)
   /* Dequoting can only subtract characters, so the length of the
      original command line is a bound on the amount of scratch space
      we need.  This length, in turn, is bounded by the 32k
-     CreateProces limit.  */
+     CreateProcess limit.  */
   char * old_pos = cmdline;
   char * new_cmdline = alloca (strlen(cmdline));
   char * new_pos = new_cmdline;
@@ -843,4 +847,3 @@ main (int argc, char ** argv)
 
   return 0;
 }
-