From a2b2565fc9318b8903ef4821bc0be40a64810aec Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Thu, 5 Feb 2015 15:12:34 +0100 Subject: This routine was calling ecpg_alloc to allocate to memory but did not actually check the returned pointer allocated, potentially NULL which could be the result of a malloc call. Issue noted by Coverity, fixed by Michael Paquier --- src/interfaces/ecpg/ecpglib/execute.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/interfaces/ecpg/ecpglib/execute.c') diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c index f1b51faade5..47e203c8aa0 100644 --- a/src/interfaces/ecpg/ecpglib/execute.c +++ b/src/interfaces/ecpg/ecpglib/execute.c @@ -402,11 +402,10 @@ ecpg_store_result(const PGresult *results, int act_field, } ecpg_log("ecpg_store_result on line %d: allocating memory for %d tuples\n", stmt->lineno, ntuples); - var->value = (char *) ecpg_alloc(len, stmt->lineno); + var->value = (char *) ecpg_auto_alloc(len, stmt->lineno); if (!var->value) return false; *((char **) var->pointer) = var->value; - ecpg_add_mem(var->value, stmt->lineno); } /* allocate indicator variable if needed */ @@ -414,11 +413,10 @@ ecpg_store_result(const PGresult *results, int act_field, { int len = var->ind_offset * ntuples; - var->ind_value = (char *) ecpg_alloc(len, stmt->lineno); + var->ind_value = (char *) ecpg_auto_alloc(len, stmt->lineno); if (!var->ind_value) return false; *((char **) var->ind_pointer) = var->ind_value; - ecpg_add_mem(var->ind_value, stmt->lineno); } /* fill the variable with the tuple(s) */ -- cgit v1.2.3