libpq's pqGetnchar() should not return a null-terminated value

anymore.  Fix for large objects.
This commit is contained in:
Bruce Momjian 1998-08-29 02:09:27 +00:00
parent b9b00d5fe4
commit 3e87302201
3 changed files with 8 additions and 6 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.62 1998/08/17 03:50:35 scrappy Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.63 1998/08/29 02:09:24 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -612,6 +612,7 @@ getAnotherTuple(PGconn *conn, int binary)
if (vlen > 0)
if (pqGetnchar((char *) (tup[i].value), vlen, conn))
return EOF;
/* we have to terminate this ourselves */
tup[i].value[vlen] = '\0';
}
/* advance the bitmap stuff */

View File

@ -24,7 +24,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.18 1998/08/17 03:50:38 scrappy Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.19 1998/08/29 02:09:25 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -160,8 +160,7 @@ pqPuts(const char *s, PGconn *conn)
/* --------------------------------------------------------------------- */
/* pqGetnchar:
get a string of exactly len bytes in buffer s (which must be 1 byte
longer) and terminate it with a '\0'.
get a string of exactly len bytes in buffer s, no null termination
*/
int
pqGetnchar(char *s, int len, PGconn *conn)
@ -170,8 +169,8 @@ pqGetnchar(char *s, int len, PGconn *conn)
return EOF;
memcpy(s, conn->inBuffer + conn->inCursor, len);
s[len] = '\0';
/* no terminating null */
conn->inCursor += len;
if (conn->Pfdebug)

View File

@ -11,3 +11,5 @@ update include/version.h after release
update backend/parser/scan.c and gram.c so flex/bison not necessary
update pgaccess
update odbc
update doc/src/sgml/release.sgml