diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
new file mode 100644
index 9d96013..a479905
*** a/src/backend/utils/adt/varlena.c
--- b/src/backend/utils/adt/varlena.c
*************** text_format(PG_FUNCTION_ARGS)
*** 3837,3843 ****
  			do
  			{
  				/* Treat overflowing arg position as unterminated. */
! 				if (arg > INT_MAX / 10)
  					break;
  				arg = arg * 10 + (*cp - '0');
  				++cp;
--- 3837,3843 ----
  			do
  			{
  				/* Treat overflowing arg position as unterminated. */
! 				if (arg >= INT_MAX / 10)
  					break;
  				arg = arg * 10 + (*cp - '0');
  				++cp;
