Skip to content

Commit 3b23cdc

Browse files
committed
Fix allocator bump in printf string allocation
Fixes #373.
1 parent 0bc979d commit 3b23cdc

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/utils/list_cpu_features.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,13 @@ static Node* CreatePrintfString(const char* format, ...) {
148148
const int written = vsnprintf(ptr, gBumpAllocator.size, format, arglist);
149149
va_end(arglist);
150150
if (written < 0 || written >= (int)gBumpAllocator.size) internal_error();
151-
return CreateConstantString((char*)BA_Bump(written));
151+
const int null_terminated_written = written + 1;
152+
return CreateConstantString((char*)BA_Bump(null_terminated_written));
152153
}
153154

154-
// Adds a string node.
155+
// Adds a non empty string node.
155156
static Node* CreateString(const char* value) {
157+
if (value == NULL || *value == '\0') internal_error();
156158
return CreatePrintfString("%s", value);
157159
}
158160

0 commit comments

Comments
 (0)