postgresql/src/interfaces/libpq
Tom Lane a9f0dbc39d Fix PQsetvalue() to avoid possible crash when adding a new tuple.
PQsetvalue unnecessarily duplicated the logic in pqAddTuple, and didn't
duplicate it exactly either --- pqAddTuple does not care what is in the
tuple-pointer array positions beyond the last valid entry, whereas the
code in PQsetvalue assumed such positions would contain NULL.  This led
to possible crashes if PQsetvalue was applied to a PGresult that had
previously been enlarged with pqAddTuple, for instance one built from a
server query.  Fix by relying on pqAddTuple instead of duplicating logic,
and not assuming anything about the contents of res->tuples[res->ntups].

Back-patch to 8.4, where PQsetvalue was introduced.

Andrew Chernow
2011-07-21 12:24:14 -04:00
..
po Translation updates for 9.1beta2 2011-06-09 23:02:48 +03:00
.gitignore Remove redundant lib*dll.def rules from .gitignore 2011-06-18 18:28:16 +02:00
bcc32.mak
exports.txt Add PQlibVersion() function to libpq 2010-12-22 14:23:56 +01:00
fe-auth.c Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
fe-auth.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
fe-connect.c Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
fe-exec.c Fix PQsetvalue() to avoid possible crash when adding a new tuple. 2011-07-21 12:24:14 -04:00
fe-lobj.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
fe-misc.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
fe-print.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
fe-protocol2.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
fe-protocol3.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
fe-secure.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
libpq-events.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq-events.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq-fe.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
libpq-int.h Use a macro variable PG_PRINTF_ATTRIBUTE for the style used for checking printf type functions. 2011-04-28 10:56:14 -04:00
libpq.rc.in Stamp HEAD as 9.2devel. 2011-06-11 17:46:49 -04:00
Makefile libpq needs its own copy of src/port/getpeereid. 2011-06-02 17:22:46 -04:00
nls.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00
pg_service.conf.sample Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
pqexpbuffer.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pqexpbuffer.h Use a macro variable PG_PRINTF_ATTRIBUTE for the style used for checking printf type functions. 2011-04-28 10:56:14 -04:00
pqsignal.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pqsignal.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pthread-win32.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
win32.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
win32.h
win32.mak

src/interfaces/libpq/README

This directory contains the C version of Libpq, the POSTGRES frontend library.