aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuo Ishii <ishii@postgresql.org>2002-11-26 02:37:13 +0000
committerTatsuo Ishii <ishii@postgresql.org>2002-11-26 02:37:13 +0000
commitd59f12daee705b9b3fcfb60cca2aa61d3e108ac8 (patch)
tree3054502b4a41d08e188ce2cca060d5d9667b80e7
parentf5d7da3041b296862b32a15ab5b183ecd9b7a1b5 (diff)
downloadpostgresql-d59f12daee705b9b3fcfb60cca2aa61d3e108ac8.tar.gz
postgresql-d59f12daee705b9b3fcfb60cca2aa61d3e108ac8.zip
Guard against 0 length string encoding conversion case.
-rw-r--r--src/backend/utils/mb/mbutils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c
index 6179fa9efd5..dc89f9a822d 100644
--- a/src/backend/utils/mb/mbutils.c
+++ b/src/backend/utils/mb/mbutils.c
@@ -4,7 +4,7 @@
* (currently mule internal code (mic) is used)
* Tatsuo Ishii
*
- * $Header: /cvsroot/pgsql/src/backend/utils/mb/mbutils.c,v 1.36 2002/11/02 18:41:22 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/mb/mbutils.c,v 1.36.2.1 2002/11/26 02:37:13 ishii Exp $
*/
#include "postgres.h"
@@ -165,6 +165,9 @@ pg_do_encoding_conversion(unsigned char *src, int len,
if (src_encoding == PG_SQL_ASCII || dest_encoding == PG_SQL_ASCII)
return src;
+ if (len <= 0)
+ return src;
+
proc = FindDefaultConversionProc(src_encoding, dest_encoding);
if (!OidIsValid(proc))
{
@@ -320,6 +323,9 @@ perform_default_encoding_conversion(unsigned char *src, int len, bool is_client_
dest_encoding;
FmgrInfo *flinfo;
+ if (len <= 0)
+ return src;
+
if (is_client_to_server)
{
src_encoding = ClientEncoding->encoding;