Commit:    cb8d1fc7f913085117da109f89a1e5a6cb535c09
Author:    Yasuo Ohgaki <yohg...@php.net>         Mon, 5 Aug 2013 18:24:07 +0900
Parents:   e59143e8966c0b6aa07ca72b6ad27f64baad0a01 
f718684a6c1d6221015031d1e72d3eb55ecbb659
Branches:  PHP-5.5

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=cb8d1fc7f913085117da109f89a1e5a6cb535c09

Log:
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fixed bug #62978. pg_select()/etc may allow SQL injection when table name is 
user parameter, users are able to control table names.

Bugs:
https://bugs.php.net/62978

Changed paths:
  MM  ext/pgsql/pgsql.c


Diff:
diff --cc ext/pgsql/pgsql.c
index de8bfc8,ded4a62..103a3b8
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@@ -6043,14 -6164,14 +6165,14 @@@ PHP_PGSQL_API int php_pgsql_insert(PGco
                }
                var_array = converted;
        }
-       
+ 
        smart_str_appends(&querystr, "INSERT INTO ");
-       smart_str_appends(&querystr, table);
+       build_tablename(&querystr, pg_link, table);
        smart_str_appends(&querystr, " (");
-       
+ 
        zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(var_array), &pos);
        while ((key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(var_array), 
&fld,
 -                                      &fld_len, &num_idx, 0, &pos)) != 
HASH_KEY_NON_EXISTANT) {
 +                                      &fld_len, &num_idx, 0, &pos)) != 
HASH_KEY_NON_EXISTENT) {
                if (key_type == HASH_KEY_IS_LONG) {
                        php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Expects 
associative array for values to be inserted");
                        goto cleanup;


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

Reply via email to