Commit 3d4b0ab2 authored by Robert Haas's avatar Robert Haas

Reject invalid input in int2vectorin.

Since the int2vector type is intended only for internal use, this patch doesn't
worry about prettifying the error messages, which has the fringe benefit of
avoiding creating additional translatable strings.  For a type intended to be
used by end-users, we would want to do better, but the approach taken here
seems like the correct trade-off for this case.

Caleb Welton
parent 540e69a0
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/adt/int.c,v 1.86 2009/09/04 11:20:22 heikki Exp $
* $PostgreSQL: pgsql/src/backend/utils/adt/int.c,v 1.87 2009/12/30 01:29:22 rhaas Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -146,10 +146,11 @@ int2vectorin(PG_FUNCTION_ARGS)
for (n = 0; *intString && n < FUNC_MAX_ARGS; n++)
{
if (sscanf(intString, "%hd", &result->values[n]) != 1)
break;
while (*intString && isspace((unsigned char) *intString))
intString++;
if (*intString == '\0')
break;
result->values[n] = pg_atoi(intString, sizeof(int16), ' ');
while (*intString && !isspace((unsigned char) *intString))
intString++;
}
......
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