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
> }
>
>
>
>
>