summaryrefslogtreecommitdiff
path: root/ext/pdo
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-11-16 12:29:27 +0100
committerNikita Popov <nikita.ppv@gmail.com>2017-11-16 21:15:36 +0100
commit26f8fc833b9668a8b8e14ecd7d94930146019adb (patch)
treebd94fe2e87a8f1da483d7644b1d3a3f0091e1637 /ext/pdo
parentb8a4225a5f9d2bbe7aeb4cabce659bc903f162f6 (diff)
downloadphp-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.c16
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();
}