aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-11-07 13:49:36 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2017-11-07 13:49:54 -0500
commit1a93c2536a75e7759420e8f9a95e2076da9135df (patch)
tree227f5200429003ddc8a3e3d558c109065cbd6f62
parent0a13f1966d4cda2eb49dec0324ab5d482bbdd956 (diff)
downloadpostgresql-1a93c2536a75e7759420e8f9a95e2076da9135df.tar.gz
postgresql-1a93c2536a75e7759420e8f9a95e2076da9135df.zip
Fix unportable usage of <ctype.h> functions.
isdigit(), isspace(), etc are likely to give surprising results if passed a signed char. We should always cast the argument to unsigned char to avoid that. Error in commit 63d6b97fd, found by buildfarm member gaur. Back-patch to 9.3, like that commit.
-rw-r--r--src/interfaces/ecpg/ecpglib/data.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/ecpglib/data.c b/src/interfaces/ecpg/ecpglib/data.c
index d486bb9c292..bdc90eda6f8 100644
--- a/src/interfaces/ecpg/ecpglib/data.c
+++ b/src/interfaces/ecpg/ecpglib/data.c
@@ -59,7 +59,7 @@ garbage_left(enum ARRAY_TYPE isarray, char **scan_length, enum COMPAT_MODE compa
/* skip invalid characters */
do {
(*scan_length)++;
- } while (isdigit(**scan_length));
+ } while (isdigit((unsigned char) **scan_length));
}
if (**scan_length != ' ' && **scan_length != '\0')