server = Ns_ConnServer(NSG(conn));
- SG(request_info).query_string = NSG(conn->request->query);
+#define safe_strdup(x) ((x)?strdup((x)):NULL)
+ SG(request_info).query_string = safe_strdup(NSG(conn->request->query));
Ns_DStringInit(&ds);
Ns_UrlToFile(&ds, server, NSG(conn->request->url));
/* path_translated is the absolute path to the file */
- SG(request_info).path_translated = strdup(Ns_DStringValue(&ds));
+ SG(request_info).path_translated = safe_strdup(Ns_DStringValue(&ds));
Ns_DStringFree(&ds);
root = Ns_PageRoot(server);
- SG(request_info).request_uri = SG(request_info).path_translated + strlen(root);
+ SG(request_info).request_uri = strdup(SG(request_info).path_translated + strlen(root));
SG(request_info).request_method = NSG(conn)->request->method;
SG(request_info).content_length = Ns_ConnContentLength(NSG(conn));
index = Ns_SetIFind(NSG(conn)->headers, "content-type");
SG(sapi_headers).http_response_code = 200;
tmp = Ns_ConnAuthUser(NSG(conn));
- if(tmp) {
+ if (tmp)
tmp = estrdup(tmp);
- }
SG(request_info).auth_user = tmp;
tmp = Ns_ConnAuthPasswd(NSG(conn));
- if(tmp) {
+ if (tmp)
tmp = estrdup(tmp);
- }
SG(request_info).auth_password = tmp;
NSG(data_avail) = SG(request_info).content_length;
php_ns_request_dtor(NSLS_D SLS_DC)
{
free(SG(request_info).path_translated);
+ if (SG(request_info).query_string)
+ free(SG(request_info).query_string);
+ free(SG(request_info).request_uri);
}
/*