sesser          Sat Mar  8 10:20:12 2003 EDT

  Modified files:              
    /php4/main  main.c 
  Log:
  fix possible XSS in error messages
  
  
  
Index: php4/main/main.c
diff -u php4/main/main.c:1.536 php4/main/main.c:1.537
--- php4/main/main.c:1.536      Fri Mar  7 00:15:26 2003
+++ php4/main/main.c    Sat Mar  8 10:20:12 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: main.c,v 1.536 2003/03/07 05:15:26 sniper Exp $ */
+/* $Id: main.c,v 1.537 2003/03/08 15:20:12 sesser Exp $ */
 
 /* {{{ includes
  */
@@ -439,6 +439,14 @@
        
        buffer_len = vspprintf(&buffer, 0, format, args);
        if (buffer) {
+               if (PG(html_errors)) {
+                       int len;
+                       char *replace = php_escape_html_entities(buffer, buffer_len, 
&len, 0, ENT_COMPAT, NULL TSRMLS_CC);
+                       efree(buffer);
+                       buffer = replace;
+                       buffer_len = len;
+               }
+
                if (docref && docref[0] == '#') {
                        docref_target = strchr(docref, '#');
                        docref = NULL;
@@ -571,6 +579,14 @@
        TSRMLS_FETCH();
 
        buffer_len = vspprintf(&buffer, PG(log_errors_max_len), format, args);
+       if (PG(html_errors)) {
+               int len;
+               char *replace = php_escape_html_entities(buffer, buffer_len, &len, 0, 
ENT_COMPAT, NULL TSRMLS_CC);
+               efree(buffer);
+               buffer = replace;
+               buffer_len = len;
+       }
+
        if (PG(ignore_repeated_errors)) {
                if (strncmp(last_error.buf, buffer, sizeof(last_error.buf))
                        || (!PG(ignore_repeated_source)



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to