You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2013/03/07 07:14:09 UTC
svn commit: r1453695 -
/commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c
Author: mturk
Date: Thu Mar 7 06:14:09 2013
New Revision: 1453695
URL: http://svn.apache.org/r1453695
Log:
Ensure that execv uses absolute or relative path
Modified:
commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c
Modified: commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c?rev=1453695&r1=1453694&r2=1453695&view=diff
==============================================================================
--- commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c (original)
+++ commons/proper/daemon/branches/1.0.x/src/native/unix/native/jsvc-unix.c Thu Mar 7 06:14:09 2013
@@ -1159,6 +1159,16 @@ int main(int argc, char *argv[])
char *p1 = NULL;
char *p2 = NULL;
+ /* We don't want to use a form of exec() that searches the
+ * PATH, so require that argv[0] be either an absolute or
+ * relative path. Error out if this isn't the case.
+ */
+ tmp = strchr(oldpath,'/');
+ if (tmp == NULL) {
+ log_error("JSVC re-exec requires execution with an absolute or relative path");
+ return 1;
+ }
+
/*
* There is no need to change LD_LIBRARY_PATH
* if we were not able to find a path to libjvm.so