diff options
Diffstat (limited to 'src/backend/utils/adt/varlena.c')
-rw-r--r-- | src/backend/utils/adt/varlena.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c index 9bc42cf05e7..75eee05eeae 100644 --- a/src/backend/utils/adt/varlena.c +++ b/src/backend/utils/adt/varlena.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.71 2001/08/13 18:45:35 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.72 2001/09/11 05:18:59 ishii Exp $ * *------------------------------------------------------------------------- */ @@ -154,8 +154,17 @@ textin(PG_FUNCTION_ARGS) char *inputText = PG_GETARG_CSTRING(0); text *result; int len; +#ifdef MULTIBYTE + char *ermsg; +#endif len = strlen(inputText) + VARHDRSZ; + +#ifdef MULTIBYTE + if ((ermsg = pg_verifymbstr(inputText, len - VARHDRSZ))) + elog(ERROR,"%s",ermsg); +#endif + result = (text *) palloc(len); VARATT_SIZEP(result) = len; |