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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4ced86f0307d60c491261501f53a99cefcc33d2;p=python Issue #18408: random_seed() now raises a MemoryError on memory allocation failure --- diff --git a/Modules/_randommodule.c b/Modules/_randommodule.c index a729817f3d..59c15b39d7 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; }