diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2017-11-16 12:29:27 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2017-11-16 21:15:36 +0100 |
commit | 26f8fc833b9668a8b8e14ecd7d94930146019adb (patch) | |
tree | bd94fe2e87a8f1da483d7644b1d3a3f0091e1637 /ext/pdo | |
parent | b8a4225a5f9d2bbe7aeb4cabce659bc903f162f6 (diff) | |
download | php-git-26f8fc833b9668a8b8e14ecd7d94930146019adb.tar.gz |
Enable and fix printf() format warnings
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
Diffstat (limited to 'ext/pdo')
-rw-r--r-- | ext/pdo/pdo_stmt.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index fcb5ae664a..c1c1b01ba5 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -305,7 +305,7 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_STR && param->max_value_len <= 0 && !Z_ISNULL_P(parameter)) { if (Z_TYPE_P(parameter) == IS_DOUBLE) { char *p; - int len = spprintf(&p, 0, "%.*H", (int) EG(precision), Z_DVAL_P(parameter)); + int len = zend_spprintf_unchecked(&p, 0, "%.*H", (int) EG(precision), Z_DVAL_P(parameter)); ZVAL_STRINGL(parameter, p, len); efree(p); } else { @@ -2132,11 +2132,15 @@ static PHP_METHOD(PDOStatement, debugDumpParams) php_stream_printf(out, "Key: Position #" ZEND_ULONG_FMT ":\n", num); } - php_stream_printf(out, "paramno=%pd\nname=[%zd] \"%.*s\"\nis_param=%d\nparam_type=%d\n", - param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0, - param->name ? ZSTR_VAL(param->name) : "", - param->is_param, - param->param_type); + php_stream_printf(out, + "paramno=" ZEND_LONG_FMT "\n" + "name=[%zd] \"%.*s\"\n" + "is_param=%d\n" + "param_type=%d\n", + param->paramno, param->name ? ZSTR_LEN(param->name) : 0, param->name ? (int) ZSTR_LEN(param->name) : 0, + param->name ? ZSTR_VAL(param->name) : "", + param->is_param, + param->param_type); } ZEND_HASH_FOREACH_END(); } |