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