]> granicus.if.org Git - php/commitdiff
Fix Bug 47495: Keep header in internal list after add, so headers_list() works correc...
authorUwe Schindler <thetaphi@php.net>
Wed, 25 Feb 2009 19:52:06 +0000 (19:52 +0000)
committerUwe Schindler <thetaphi@php.net>
Wed, 25 Feb 2009 19:52:06 +0000 (19:52 +0000)
sapi/nsapi/nsapi.c

index b76b0e5b175103759e0e5d50326cd955cfdb3af1..62564e7fbd9a76b33a45121a18d8cdcaa0e8b69a 100644 (file)
@@ -473,7 +473,7 @@ static int sapi_nsapi_header_handler(sapi_header_struct *sapi_header, sapi_heade
        char *header_name, *header_content, *p;
        nsapi_request_context *rc = (nsapi_request_context *)SG(server_context);
 
-       header_name = sapi_header->header;
+       header_name = nsapi_strdup(sapi_header->header);
        header_content = p = strchr(header_name, ':');
        if (p == NULL) {
                efree(sapi_header->header);
@@ -497,9 +497,9 @@ static int sapi_nsapi_header_handler(sapi_header_struct *sapi_header, sapi_heade
                pblock_nvinsert(header_name, header_content, rc->rq->srvhdrs);
        }
 
-       sapi_free_header(sapi_header);
+       nsapi_free(header_name);
 
-       return 0;       /* don't use the default SAPI mechanism, NSAPI duplicates this functionality */
+       return SAPI_HEADER_ADD;
 }
 
 static int sapi_nsapi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)