[ psqlodbc-Bugs-1010945 ] uninitialised value in QR_Constructor

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1010945 ] uninitialised value in QR_Constructor
Date: 2010-11-24 15:52:22
Message-ID: 20101124155222.4C0241071023@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Bugs item #1010945, was opened at 2010-11-19 14:40
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1010945&group_id=1000125

Category: None
Group: None
>Status: Closed
>Resolution: Accepted
Priority: 3
Submitted By: Arno Moore (arno)
Assigned to: Nobody (None)
Summary: uninitialised value in QR_Constructor

Initial Comment:
psqlODBC version: 09.00.0200

The driver is compiled from source under Linux with Kernel 2.6.22 (glibc 2.6.1, gcc 4.2.1).

While examining our program with valgrind, i'm getting the following error:

==8454== Conditional jump or move depends on uninitialised value(s)
==8454== at 0x59072DD: QR_set_rowstart_in_cache (qresult.c:113)
==8454== by 0x590810C: QR_Constructor (qresult.c:165)
==8454== by 0x58ECEC9: CC_send_query_append (connection.c:2742)
==8454== by 0x58F1323: CC_commit (connection.c:512)
[..]
==8454== Uninitialised value was created by a heap allocation
==8454== at 0x4022C13: malloc (vg_replace_malloc.c:195)
==8454== by 0x590807C: QR_Constructor (qresult.c:138)
==8454== by 0x58ECEC9: CC_send_query_append (connection.c:2742)
==8454== by 0x58F1323: CC_commit (connection.c:512)

This belongs to the function "QResultClass *QR_Constructor()" in qresult.c.

QR_set_rowstart_in_cache(rv, -1) is called before rv->flags = 0 is set and so QR_set_rowstart_in_cache evaluates the value of rv->flags in QR_synchronize_keys while it isn't initialised yet.

Setting rv->flags = 0 before calling QR_set_rowstart_in_cache fixed the problem for me.

Thanks
Arno Moore

----------------------------------------------------------------------

Comment By: Hiroshi Inoue (hinoue)
Date: 2010-11-20 03:00

Message:
Thanks for the report.

I would commit the fix to cvs.

----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1010945&group_id=1000125

Browse pgsql-odbc by date

  From Date Subject
Next Message Hiroshi Inoue 2010-11-24 22:07:07 Re: Problem when fetching data of BIT column.
Previous Message Taizo ITO 2010-11-24 04:26:24 Problem when fetching data of BIT column.