Return error if allocation of new element was not possible.

Found by Coverity.
This commit is contained in:
Michael Meskes 2013-09-08 12:59:43 +02:00
parent 0caf562969
commit 1b7f5168c5

View File

@ -402,14 +402,18 @@ PGTYPESnumeric_to_asc(numeric *num, int dscale)
numeric *numcopy = PGTYPESnumeric_new();
char *s;
if (dscale < 0)
dscale = num->dscale;
if (numcopy == NULL)
return NULL;
if (PGTYPESnumeric_copy(num, numcopy) < 0)
{
PGTYPESnumeric_free(numcopy);
return NULL;
}
if (dscale < 0)
dscale = num->dscale;
/* get_str_from_var may change its argument */
s = get_str_from_var(numcopy, dscale);
PGTYPESnumeric_free(numcopy);
@ -1493,6 +1497,9 @@ numericvar_to_double(numeric *var, double *dp)
char *endptr;
numeric *varcopy = PGTYPESnumeric_new();
if (varcopy == NULL)
return -1;
if (PGTYPESnumeric_copy(var, varcopy) < 0)
{
PGTYPESnumeric_free(varcopy);