Index: postgresql-9.4-9.4.12/src/backend/utils/adt/formatting.c =================================================================== --- postgresql-9.4-9.4.12.orig/src/backend/utils/adt/formatting.c 2017-05-08 23:19:04.000000000 +0200 +++ postgresql-9.4-9.4.12/src/backend/utils/adt/formatting.c 2017-06-22 09:20:17.000000000 +0200 @@ -4173,12 +4173,12 @@ (id == NUM_0 || id == NUM_9) ? "NUM_0/9" : id == NUM_DEC ? "NUM_DEC" : "???"); #endif + if (*Np->inout_p == ' ') + Np->inout_p++; + #define OVERLOAD_TEST (Np->inout_p >= Np->inout + input_len) #define AMOUNT_TEST(_s) (input_len-(Np->inout_p-Np->inout) >= _s) - if (OVERLOAD_TEST) - return; - if (*Np->inout_p == ' ') Np->inout_p++; @@ -4316,7 +4316,7 @@ * next char is not digit */ if (IS_LSIGN(Np->Num) && isread && - (Np->inout_p + 1) < Np->inout + input_len && + (Np->inout_p + 1) <= Np->inout + input_len && !isdigit((unsigned char) *(Np->inout_p + 1))) { int x;