mirror of
https://github.com/postgres/postgres.git
synced 2025-11-03 09:13:20 +03:00
From: Raymond Toy <toy@rtp.ericsson.se>
Subject: [PATCHES] 970417: two more patches for large objects
Here are two more patches:
1. pg_getint doesn't properly set the status flag when
calling pqGetShort or pqGetLong. This is required when
accessing large objects via libpq. This, combined with
problem 1 above causes postgres to crash when postgres
tries to print out the message that the status was not
good.
2. ExceptionalCondition crashes when called with detail =
NULL. This patch prevents dereferencing the NULL.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.15 1997/04/16 06:25:13 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.16 1997/04/17 20:38:16 scrappy Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -303,10 +303,10 @@ pq_getint(int b)
|
||||
status = ((n = fgetc(Pfin)) == EOF);
|
||||
break;
|
||||
case 2:
|
||||
pqGetShort(&n, Pfin);
|
||||
status = pqGetShort(&n, Pfin);
|
||||
break;
|
||||
case 4:
|
||||
pqGetLong(&n, Pfin);
|
||||
status = pqGetLong(&n, Pfin);
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "** Unsupported size %d\n", b);
|
||||
|
||||
Reference in New Issue
Block a user