diff options
Diffstat (limited to 'src/bin/scripts/common.c')
-rw-r--r-- | src/bin/scripts/common.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c index 64bf1f42270..49d7ebe8379 100644 --- a/src/bin/scripts/common.c +++ b/src/bin/scripts/common.c @@ -21,6 +21,8 @@ #include "fe_utils/connect.h" #include "fe_utils/string_utils.h" +#define PQmblenBounded(s, e) strnlen(s, PQmblen(s, e)) + static PGcancel *volatile cancelConn = NULL; bool CancelRequested = false; @@ -304,7 +306,7 @@ split_table_columns_spec(const char *spec, int encoding, cp++; } else - cp += PQmblen(cp, encoding); + cp += PQmblenBounded(cp, encoding); } *table = pg_strdup(spec); (*table)[cp - spec] = '\0'; /* no strndup */ |