php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10400 output_transform_file pointer in sablot.c MUST be initialized to NULL in php_sab
Submitted: 2001-04-19 09:01 UTC Modified: 2001-04-19 11:04 UTC
From: lsorense at csclub dot uwaterloo dot ca Assigned:
Status: Closed Package: Sablotron XSL
PHP Version: 4.0.4pl1 OS: Linux
Private report: No CVE-ID: None

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-19 10:35 UTC] lsorense at csclub dot uwaterloo dot ca
The two suggested changes fixes the segfaults in apache and the hangs that occour when using xslt_output_begintransform. The hang/segfault occours after each available apache thread has served one request, hence the reson it's seen after 10 to 15 quick reloads, since that's usually how many idle apache threads people have running.

Here is a complete patch for sablot.c:

diff -ur php4-4.0.4.5rc6/ext/sablot/sablot.c php4-4.0.4.5rc6.fixed/ext/sablot/sablot.c
--- php4-4.0.4.5rc6/ext/sablot/sablot.c Sat Mar  3 20:09:36 2001
+++ php4-4.0.4.5rc6.fixed/ext/sablot/sablot.c   Thu Apr 19 08:44:21 2001
@@ -70,7 +70,7 @@
 /* Macro's */

 /* Free macros */
-#define S_FREE(__var) if (__var) efree(__var);
+#define S_FREE(__var) if (__var) {efree(__var);__var = NULL;}
 #define FUNCH_FREE(__var) if (__var) zval_ptr_dtor(&(__var));

 /* ERROR Macros */
@@ -211,6 +211,7 @@
        SABLOTG(processor)    = NULL;
        SABLOTG(errors)       = NULL;
        SABLOTG(errorHandler) = NULL;
+       SABLOTG(output_transform_file) = NULL;
 }

 [2001-04-19 11:04 UTC] sterling@php.net
applied, thanks!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Nov 05 02:01:31 2024 UTC