Commit 0c62356c authored by Tom Lane's avatar Tom Lane

Add an assertion that we don't pass NULL to snprintf("%s").

Per commit e748e902, we appear to have little or no coverage in the
buildfarm of machines that will dump core when asked to printf a
null string pointer.  Let's try to improve that situation by adding
an assertion that will make src/port/snprintf.c behave that way.
Since it's just an assertion, it won't break anything in production
builds, but it will help developers find this type of oversight.

Note that while our buildfarm coverage of machines that use that
snprintf implementation is pretty thin on the Unix side (apparently
amounting only to gaur/pademelon), all of the MSVC critters use it.

Discussion: https://postgr.es/m/156b989dbc6fe7c4d3223cf51da61195@postgrespro.ru
parent e748e902
...@@ -745,6 +745,8 @@ nextch2: ...@@ -745,6 +745,8 @@ nextch2:
strvalue = argvalues[fmtpos].cptr; strvalue = argvalues[fmtpos].cptr;
else else
strvalue = va_arg(args, char *); strvalue = va_arg(args, char *);
/* Whine if someone tries to print a NULL string */
Assert(strvalue != NULL);
fmtstr(strvalue, leftjust, fieldwidth, precision, pointflag, fmtstr(strvalue, leftjust, fieldwidth, precision, pointflag,
target); target);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment