Patch #1673759: add a missing overflow check when formatting floats
with %G.
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 3870343..504b119 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -4198,7 +4198,8 @@
always given), therefore increase the length by one.
*/
- if ((type == 'g' && buflen <= (size_t)10 + (size_t)prec) ||
+ if (((type == 'g' || type == 'G') &&
+ buflen <= (size_t)10 + (size_t)prec) ||
(type == 'f' && buflen <= (size_t)53 + (size_t)prec)) {
PyErr_SetString(PyExc_OverflowError,
"formatted float is too long (precision too large?)");