]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-140739: Fix missing exception on allocation failure in BinaryWriter (#143204)
authorPablo Galindo Salgado <Pablogsal@gmail.com>
Sat, 27 Dec 2025 01:39:21 +0000 (01:39 +0000)
committerGitHub <noreply@github.com>
Sat, 27 Dec 2025 01:39:21 +0000 (01:39 +0000)
Modules/_remote_debugging/binary_io_writer.c

index c8857cec6218beb8f6b4c448994376e9d63fa101..c129c93efe23c5ff8ff4bb203734fddb3001b051 100644 (file)
@@ -741,6 +741,7 @@ binary_writer_create(const char *filename, uint64_t sample_interval_us, int comp
 
     writer->write_buffer = PyMem_Malloc(WRITE_BUFFER_SIZE);
     if (!writer->write_buffer) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->buffer_size = WRITE_BUFFER_SIZE;
@@ -753,14 +754,17 @@ binary_writer_create(const char *filename, uint64_t sample_interval_us, int comp
         NULL                 /* Use default allocator */
     );
     if (!writer->string_hash) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->strings = PyMem_Malloc(INITIAL_STRING_CAPACITY * sizeof(char *));
     if (!writer->strings) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->string_lengths = PyMem_Malloc(INITIAL_STRING_CAPACITY * sizeof(size_t));
     if (!writer->string_lengths) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->string_capacity = INITIAL_STRING_CAPACITY;
@@ -773,16 +777,19 @@ binary_writer_create(const char *filename, uint64_t sample_interval_us, int comp
         NULL                 /* Use default allocator */
     );
     if (!writer->frame_hash) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->frame_entries = PyMem_Malloc(INITIAL_FRAME_CAPACITY * sizeof(FrameEntry));
     if (!writer->frame_entries) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->frame_capacity = INITIAL_FRAME_CAPACITY;
 
     writer->thread_entries = PyMem_Malloc(INITIAL_THREAD_CAPACITY * sizeof(ThreadEntry));
     if (!writer->thread_entries) {
+        PyErr_NoMemory();
         goto error;
     }
     writer->thread_capacity = INITIAL_THREAD_CAPACITY;