diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-06-09 20:01:16 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-06-09 20:01:16 +0000 |
commit | 3ace84594e3626f12caddfe3a2efed1a2e2982ee (patch) | |
tree | 314ee8ba8ea0c80166533904bf456cd9ccf9ac31 /src/interfaces/libpq/fe-exec.c | |
parent | 0b8e46e49b6236b64744659afe43a74c46042951 (diff) | |
download | postgresql-3ace84594e3626f12caddfe3a2efed1a2e2982ee.tar.gz postgresql-3ace84594e3626f12caddfe3a2efed1a2e2982ee.zip |
Defend against omitted paramLengths[] array in PQsendQueryParams.
Per Volkan Yazici.
Diffstat (limited to 'src/interfaces/libpq/fe-exec.c')
-rw-r--r-- | src/interfaces/libpq/fe-exec.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c index a8ef01ad0da..1a01a4c627c 100644 --- a/src/interfaces/libpq/fe-exec.c +++ b/src/interfaces/libpq/fe-exec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.167 2005/04/29 13:42:21 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.168 2005/06/09 20:01:16 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -30,7 +30,7 @@ #endif /* keep this in same order as ExecStatusType in libpq-fe.h */ -char *const pgresStatus[] = { +char *const pgresStatus[] = { "PGRES_EMPTY_QUERY", "PGRES_COMMAND_OK", "PGRES_TUPLES_OK", @@ -960,7 +960,14 @@ PQsendQueryGuts(PGconn *conn, if (paramFormats && paramFormats[i] != 0) { /* binary parameter */ - nbytes = paramLengths[i]; + if (paramLengths) + nbytes = paramLengths[i]; + else + { + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("length must be given for binary parameter\n")); + goto sendFailed; + } } else { |