diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-04-02 21:08:07 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-04-02 21:08:07 +0000 |
commit | 8af8be8633cae19313bbcee3d3faafc6d140a54a (patch) | |
tree | e4f52edd96d54091c04ecc6c4fa6b7bec2f78009 | |
parent | 7c100e96b7a6d8df95d99828132840417adcd8d2 (diff) | |
download | postgresql-8af8be8633cae19313bbcee3d3faafc6d140a54a.tar.gz postgresql-8af8be8633cae19313bbcee3d3faafc6d140a54a.zip |
Fix buffer overrun in to_ascii(), per report from Guido Notari.
-rw-r--r-- | src/backend/utils/adt/ascii.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backend/utils/adt/ascii.c b/src/backend/utils/adt/ascii.c index 0a2820721dc..088b7540629 100644 --- a/src/backend/utils/adt/ascii.c +++ b/src/backend/utils/adt/ascii.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * ascii.c * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ascii.c,v 1.13 2002/08/29 07:22:26 ishii Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ascii.c,v 1.13.2.1 2003/04/02 21:08:07 tgl Exp $ * * Portions Copyright (c) 1999-2000, PostgreSQL Global Development Group * @@ -27,9 +27,9 @@ static text *encode_to_ascii(text *data, int enc); char * pg_to_ascii(unsigned char *src, unsigned char *src_end, unsigned char *desc, int enc) { - unsigned char *x = NULL; - unsigned char *ascii = NULL; - int range = 0; + unsigned char *x; + unsigned char *ascii; + int range; /* * relevant start for an encoding @@ -66,12 +66,13 @@ pg_to_ascii(unsigned char *src, unsigned char *src_end, unsigned char *desc, int { elog(ERROR, "pg_to_ascii(): unsupported encoding from %s", pg_encoding_to_char(enc)); + return NULL; /* keep compiler quiet */ } /* * Encode */ - for (x = src; x <= src_end; x++) + for (x = src; x < src_end; x++) { if (*x < 128) *desc++ = *x; |