summaryrefslogtreecommitdiffstats
path: root/stap-server-connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'stap-server-connect.c')
-rw-r--r--stap-server-connect.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/stap-server-connect.c b/stap-server-connect.c
index 8263a3d5..33d4983b 100644
--- a/stap-server-connect.c
+++ b/stap-server-connect.c
@@ -94,7 +94,7 @@ readDataFromSocket(PRFileDesc *sslSocket)
return SECFailure;
}
- /* Read the number fo bytes to be received. */
+ /* Read the number of bytes to be received. */
numBytesRead = PR_Read(sslSocket, & info.size, sizeof (info.size));
if (numBytesRead == 0) /* EOF */
{
@@ -377,6 +377,7 @@ handle_connection(PRFileDesc *tcpSocket)
PRSocketOptionData socketOption;
PRFileInfo info;
char *cmdline;
+ char *stap_server_prefix;
int rc;
char *rc1;
@@ -465,10 +466,11 @@ handle_connection(PRFileDesc *tcpSocket)
#endif
/* Call the stap-server script. */
- cmdline = PORT_Alloc(sizeof ("stap-server") +
- sizeof (requestFileName) +
- sizeof (responseDirName) +
- sizeof (responseZipName) +
+ stap_server_prefix = getenv("SYSTEMTAP_SERVER_SCRIPTS") ?: BINDIR;
+ cmdline = PORT_Alloc(strlen (stap_server_prefix) + sizeof ("/stap-server") + 1 +
+ sizeof (requestFileName) + 1 +
+ sizeof (responseDirName) + 1 +
+ sizeof (responseZipName) + 1 +
strlen (dbdir) + 1);
if (! cmdline) {
errWarn ("PORT_Alloc");
@@ -476,7 +478,7 @@ handle_connection(PRFileDesc *tcpSocket)
goto cleanup;
}
- sprintf (cmdline, "stap-server %s %s %s %s",
+ sprintf (cmdline, "%s/stap-server %s %s %s %s", stap_server_prefix,
requestFileName, responseDirName, responseZipName, dbdir);
rc = system (cmdline);