From e67629774fd0b921d886f4f81f83c0368143efdd Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Mon, 22 Jun 1998 03:54:46 +0000
Subject: Add check in long-to-int conversion for at least one digit.

---
 Objects/longobject.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Objects/longobject.c b/Objects/longobject.c
index 9657c08..d638c64 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -453,6 +453,7 @@ PyLong_FromString(str, pend, base)
 	int base;
 {
 	int sign = 1;
+	char *start;
 	PyLongObject *z;
 	
 	if ((base != 0 && base < 2) || base > 36) {
@@ -481,6 +482,7 @@ PyLong_FromString(str, pend, base)
 	if (base == 16 && str[0] == '0' && (str[1] == 'x' || str[1] == 'X'))
 		str += 2;
 	z = _PyLong_New(0);
+	start = str;
 	for ( ; z != NULL; ++str) {
 		int k = -1;
 		PyLongObject *temp;
@@ -497,6 +499,11 @@ PyLong_FromString(str, pend, base)
 		Py_DECREF(z);
 		z = temp;
 	}
+	if (str == start) {
+		PyErr_SetString(PyExc_ValueError,
+				"no digits in long int constant");
+		return NULL;
+	}
 	if (sign < 0 && z != NULL && z->ob_size != 0)
 		z->ob_size = -(z->ob_size);
 	if (pend)
-- 
cgit v0.12

