1bac415f3a14ebff60e5f7377e45955f177a0f4a angie Mon Jun 3 12:41:46 2013 -0700 When running from command line, SCRIPT_NAME is undefined (unless one purposefully sets it). Avoid segv. diff --git src/lib/cheapcgi.c src/lib/cheapcgi.c index b82a932..c7c2734 100644 --- src/lib/cheapcgi.c +++ src/lib/cheapcgi.c @@ -58,31 +58,34 @@ char *cgiRequestUri() /* Return CGI REQUEST_URI */ { return getenv("REQUEST_URI"); } char *cgiRequestContentLength() /* Return HTTP REQUEST CONTENT_LENGTH if available*/ { return getenv("CONTENT_LENGTH"); } char *cgiScriptName() /* Return name of script so libs can do context-sensitive stuff. */ { -return getenv("SCRIPT_NAME"); +char *scriptName = getenv("SCRIPT_NAME"); +if (scriptName == NULL) + scriptName = "cgiSpoofedScript"; +return scriptName; } char *cgiServerName() /* Return name of server, better to use cgiServerNamePort() for actual URL construction */ { return getenv("SERVER_NAME"); } char *cgiServerPort() /* Return port number of server, default 80 if not found */ { char *port = getenv("SERVER_PORT"); if (port) return port;