From: Victor Stinner Date: Mon, 15 Jul 2013 18:00:36 +0000 (+0200) Subject: Issue #18408: random_seed() now raises a MemoryError on memory allocation X-Git-Tag: v3.4.0a1~201 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a4ced86f0307d60c491261501f53a99cefcc33d2;p=thirdparty%2FPython%2Fcpython.git Issue #18408: random_seed() now raises a MemoryError on memory allocation failure --- diff --git a/Modules/_randommodule.c b/Modules/_randommodule.c index a729817f3dd0..59c15b39d70a 100644 --- a/Modules/_randommodule.c +++ b/Modules/_randommodule.c @@ -250,8 +250,10 @@ random_seed(RandomObject *self, PyObject *args) /* Convert seed to byte sequence. */ key_as_bytes = (unsigned char *)PyMem_Malloc((size_t)4 * keyused); - if (key_as_bytes == NULL) + if (key_as_bytes == NULL) { + PyErr_NoMemory(); goto Done; + } res = _PyLong_AsByteArray((PyLongObject *)n, key_as_bytes, keyused * 4, 1, /* little-endian */ @@ -264,6 +266,7 @@ random_seed(RandomObject *self, PyObject *args) /* Fill array of unsigned longs from byte sequence. */ key = (unsigned long *)PyMem_Malloc(sizeof(unsigned long) * keyused); if (key == NULL) { + PyErr_NoMemory(); PyMem_Free(key_as_bytes); goto Done; }