Hi all,

ecpg_get_data@data.c is using to null-pointer checks for pval but it
happens that we have the guarantee that those pointers are never NULL, see
for example this piece of code at the code of ecpg_get_data():
        /* pval is a pointer to the value */
        if (!pval)
        {
                /*
                 * This should never happen because we already checked that
we found
                 * at least one tuple, but let's play it safe.
                 */
                ecpg_raise(lineno, ECPG_NOT_FOUND, ECPG_SQLSTATE_NO_DATA,
NULL);
                return (false);
        }
A patch is attached, and the issue has been spotted by Coverity.
Regards,
-- 
Michael
diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c
index 2d0c118..d229c74 100644
--- a/src/interfaces/ecpg/ecpglib/data.c
+++ b/src/interfaces/ecpg/ecpglib/data.c
@@ -634,7 +634,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
 					if (ires == NULL)
 					{
 						ecpg_log("ecpg_get_data on line %d: RESULT %s; errno %d\n",
-								 lineno, pval ? pval : "", errno);
+								 lineno, pval, errno);
 
 						if (INFORMIX_MODE(compat))
 						{
@@ -688,7 +688,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
 					if (errno != 0)
 					{
 						ecpg_log("ecpg_get_data on line %d: RESULT %s; errno %d\n",
-								 lineno, pval ? pval : "", errno);
+								 lineno, pval, errno);
 
 						if (INFORMIX_MODE(compat))
 						{
@@ -736,7 +736,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
 					if (errno != 0)
 					{
 						ecpg_log("ecpg_get_data on line %d: RESULT %s; errno %d\n",
-								 lineno, pval ? pval : "", errno);
+								 lineno, pval, errno);
 
 						if (INFORMIX_MODE(compat))
 						{
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to