diff --git a/Objects/listobject.c b/Objects/listobject.c
index 739a571..75ba6d0 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -487,10 +487,10 @@
 	if (n < 0)
 		n = 0;
 	size = a->ob_size * n;
-	if (size == 0)
-              return PyList_New(0);
 	if (n && size/n != a->ob_size)
 		return PyErr_NoMemory();
+	if (size == 0)
+              return PyList_New(0);
 	np = (PyListObject *) PyList_New(size);
 	if (np == NULL)
 		return NULL;
@@ -661,7 +661,7 @@
 
 
 	size = PyList_GET_SIZE(self);
-	if (size == 0) {
+	if (size == 0 || n == 1) {
 		Py_INCREF(self);
 		return (PyObject *)self;
 	}
@@ -672,7 +672,10 @@
 		return (PyObject *)self;
 	}
 
-	if (list_resize(self, size*n) == -1)
+        p = size*n;
+        if (p/n != size)
+		return PyErr_NoMemory();
+	if (list_resize(self, p) == -1)
 		return NULL;
 
 	p = size;
@@ -2927,4 +2930,3 @@
 		return 0;
 	return len;
 }
-
