mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-05 19:09:58 +08:00
libpq's pqGetnchar() should not return a null-terminated value
anymore. Fix for large objects.
This commit is contained in:
parent
b9b00d5fe4
commit
3e87302201
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user