(original) (raw)

changeset: 84645:9244e79c6e14 user: Victor Stinner victor.stinner@gmail.com date: Mon Jul 15 20:00:36 2013 +0200 files: Modules/_randommodule.c description: Issue #18408: random_seed() now raises a MemoryError on memory allocation failure diff -r 638f9cfa7b0a -r 9244e79c6e14 Modules/_randommodule.c --- a/Modules/_randommodule.c Mon Jul 15 19:53:13 2013 +0200 +++ b/Modules/_randommodule.c Mon Jul 15 20:00:36 2013 +0200 @@ -250,8 +250,10 @@ /* 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 @@ /* 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; } /victor.stinner@gmail.com