You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Randy Terbush <ra...@zyzzyva.com> on 1997/03/02 19:54:40 UTC

[PATCH] segv in create_argv

==================================================================
RCS file: /export/home/cvs/apache/src/util_script.c,v
retrieving revision 1.45
diff -c -r1.45 util_script.c
*** util_script.c	1997/02/10 11:47:24	1.45
--- util_script.c	1997/03/02 18:50:08
***************
*** 103,113 ****
  	    idx++;
  	    if (idx >= APACHE_ARG_MAX-1) break;
  	}
- 	va_end(args);
      }
      va_end(args);
  
!     av[idx] = '\0';
      return av;
  }
  
--- 103,112 ----
  	    idx++;
  	    if (idx >= APACHE_ARG_MAX-1) break;
  	}
      }
      va_end(args);
  
!     av[idx] = NULL;
      return av;
  }
  
***************
*** 538,544 ****
  	    execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
  	}
  	else
! 	    execv(r->filename, create_argv(r, argv0, r->args, NULL));
      }
      }
  #else
--- 537,543 ----
  	    execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
  	}
  	else
! 	    execv(r->filename, create_argv(r, argv0, r->args, (void *)NULL));
      }
      }
  #else
***************
*** 579,585 ****
  
    	else {
  	    execve(SUEXEC_BIN,
! 		   create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, NULL),
  		   env);
  	}
      }
--- 578,584 ----
  
    	else {
  	    execve(SUEXEC_BIN,
! 		   create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, (void *)NULL),
  		   env);
  	}
      }
***************
*** 591,597 ****
  	    execle(r->filename, argv0, NULL, env);
  
  	else
! 	    execve(r->filename, create_argv(r, argv0, r->args, NULL), env);
      }
  #endif
  }
--- 590,596 ----
  	    execle(r->filename, argv0, NULL, env);
  
  	else
! 	    execve(r->filename, create_argv(r, argv0, r->args, (void *)NULL), env);
      }
  #endif
  }





Re: [PATCH] segv in create_argv

Posted by Chuck Murcko <ch...@topsail.org>.
+1.

Randy Terbush wrote:
> 
> ==================================================================
> RCS file: /export/home/cvs/apache/src/util_script.c,v
> retrieving revision 1.45
> diff -c -r1.45 util_script.c
> *** util_script.c       1997/02/10 11:47:24     1.45
> --- util_script.c       1997/03/02 18:50:08
> ***************
> *** 103,113 ****
>             idx++;
>             if (idx >= APACHE_ARG_MAX-1) break;
>         }
> -       va_end(args);
>       }
>       va_end(args);
> 
> !     av[idx] = '\0';
>       return av;
>   }
> 
> --- 103,112 ----
>             idx++;
>             if (idx >= APACHE_ARG_MAX-1) break;
>         }
>       }
>       va_end(args);
> 
> !     av[idx] = NULL;
>       return av;
>   }
> 
> ***************
> *** 538,544 ****
>             execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
>         }
>         else
> !           execv(r->filename, create_argv(r, argv0, r->args, NULL));
>       }
>       }
>   #else
> --- 537,543 ----
>             execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
>         }
>         else
> !           execv(r->filename, create_argv(r, argv0, r->args, (void *)NULL));
>       }
>       }
>   #else
> ***************
> *** 579,585 ****
> 
>         else {
>             execve(SUEXEC_BIN,
> !                  create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, NULL),
>                    env);
>         }
>       }
> --- 578,584 ----
> 
>         else {
>             execve(SUEXEC_BIN,
> !                  create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, (void *)NULL),
>                    env);
>         }
>       }
> ***************
> *** 591,597 ****
>             execle(r->filename, argv0, NULL, env);
> 
>         else
> !           execve(r->filename, create_argv(r, argv0, r->args, NULL), env);
>       }
>   #endif
>   }
> --- 590,596 ----
>             execle(r->filename, argv0, NULL, env);
> 
>         else
> !           execve(r->filename, create_argv(r, argv0, r->args, (void *)NULL), env);
>       }
>   #endif
>   }

-- 
chuck
Chuck Murcko
The Topsail Group, West Chester PA USA
chuck@topsail.org

Re: [PATCH] segv in create_argv

Posted by Dean Gaudet <dg...@arctic.org>.
+1

Dean

On Sun, 2 Mar 1997, Randy Terbush wrote:

> 
> ==================================================================
> RCS file: /export/home/cvs/apache/src/util_script.c,v
> retrieving revision 1.45
> diff -c -r1.45 util_script.c
> *** util_script.c	1997/02/10 11:47:24	1.45
> --- util_script.c	1997/03/02 18:50:08
> ***************
> *** 103,113 ****
>   	    idx++;
>   	    if (idx >= APACHE_ARG_MAX-1) break;
>   	}
> - 	va_end(args);
>       }
>       va_end(args);
>   
> !     av[idx] = '\0';
>       return av;
>   }
>   
> --- 103,112 ----
>   	    idx++;
>   	    if (idx >= APACHE_ARG_MAX-1) break;
>   	}
>       }
>       va_end(args);
>   
> !     av[idx] = NULL;
>       return av;
>   }
>   
> ***************
> *** 538,544 ****
>   	    execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
>   	}
>   	else
> ! 	    execv(r->filename, create_argv(r, argv0, r->args, NULL));
>       }
>       }
>   #else
> --- 537,543 ----
>   	    execv("CMD.EXE", create_argv_cmd(r->pool, argv0, r->args, r->filename));
>   	}
>   	else
> ! 	    execv(r->filename, create_argv(r, argv0, r->args, (void *)NULL));
>       }
>       }
>   #else
> ***************
> *** 579,585 ****
>   
>     	else {
>   	    execve(SUEXEC_BIN,
> ! 		   create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, NULL),
>   		   env);
>   	}
>       }
> --- 578,584 ----
>   
>     	else {
>   	    execve(SUEXEC_BIN,
> ! 		   create_argv(r, SUEXEC_BIN, execuser, gr->gr_name, argv0, r->args, (void *)NULL),
>   		   env);
>   	}
>       }
> ***************
> *** 591,597 ****
>   	    execle(r->filename, argv0, NULL, env);
>   
>   	else
> ! 	    execve(r->filename, create_argv(r, argv0, r->args, NULL), env);
>       }
>   #endif
>   }
> --- 590,596 ----
>   	    execle(r->filename, argv0, NULL, env);
>   
>   	else
> ! 	    execve(r->filename, create_argv(r, argv0, r->args, (void *)NULL), env);
>       }
>   #endif
>   }
> 
> 
> 
> 
>