]> granicus.if.org Git - php/commitdiff
This appears to be the correct fix to me.
authorRasmus Lerdorf <rasmus@php.net>
Sat, 14 Oct 2000 05:06:16 +0000 (05:06 +0000)
committerRasmus Lerdorf <rasmus@php.net>
Sat, 14 Oct 2000 05:06:16 +0000 (05:06 +0000)
@ Fix memory leak in x-httpd-source mode (Jason Greene)

sapi/apache/sapi_apache.c

index 376c69f7fa392933625015e06a39d885238c2923..161523bad201e774cec05308c95bc6b9b915e9f8 100644 (file)
@@ -69,23 +69,23 @@ int apache_php_module_main(request_rec *r, int display_source_mode CLS_DC ELS_DC
        /* sending a file handle to another dll is not working
        // so let zend open it. 
        */
-       file_handle.type = ZEND_HANDLE_FILENAME;
-       file_handle.handle.fd = 0;
-       file_handle.filename = SG(request_info).path_translated;
-       file_handle.opened_path = NULL;
-       file_handle.free_filename = 0;
-
+       
        if (display_source_mode) {
                zend_syntax_highlighter_ini syntax_highlighter_ini;
 
-               if (open_file_for_scanning(&file_handle CLS_CC)==SUCCESS) {
-                       php_get_highlight_struct(&syntax_highlighter_ini);
-                       zend_highlight(&syntax_highlighter_ini);
+               php_get_highlight_struct(&syntax_highlighter_ini);
+               if (highlight_file(SG(request_info).path_translated,&syntax_highlighter_ini)){
                        return OK;
                } else {
                        return NOT_FOUND;
                }
        } else {
+               file_handle.type = ZEND_HANDLE_FILENAME;
+               file_handle.handle.fd = 0;
+               file_handle.filename = SG(request_info).path_translated;
+               file_handle.opened_path = NULL;
+               file_handle.free_filename = 0;
+
                (void) php_execute_script(&file_handle CLS_CC ELS_CC PLS_CC);
        }