Skip to content

Commit 9c68834

Browse files
author
Michael Meskes
committed
Return error if allocation of new element was not possible.
Found by Coverity.
1 parent 579dae5 commit 9c68834

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/interfaces/ecpg/pgtypeslib/numeric.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,14 +430,18 @@ PGTYPESnumeric_to_asc(numeric *num, int dscale)
430430
numeric *numcopy = PGTYPESnumeric_new();
431431
char *s;
432432

433-
if (dscale < 0)
434-
dscale = num->dscale;
433+
if (numcopy == NULL)
434+
return NULL;
435435

436436
if (PGTYPESnumeric_copy(num, numcopy) < 0)
437437
{
438438
PGTYPESnumeric_free(numcopy);
439439
return NULL;
440440
}
441+
442+
if (dscale < 0)
443+
dscale = num->dscale;
444+
441445
/* get_str_from_var may change its argument */
442446
s = get_str_from_var(numcopy, dscale);
443447
PGTYPESnumeric_free(numcopy);
@@ -1519,6 +1523,9 @@ numericvar_to_double(numeric *var, double *dp)
15191523
char *endptr;
15201524
numeric *varcopy = PGTYPESnumeric_new();
15211525

1526+
if (varcopy == NULL)
1527+
return -1;
1528+
15221529
if (PGTYPESnumeric_copy(var, varcopy) < 0)
15231530
{
15241531
PGTYPESnumeric_free(varcopy);

0 commit comments

Comments
 (0)