Skip to content

Commit

Permalink
Fix some memory leaks
Browse files Browse the repository at this point in the history
Found by the clang static analyzer.
  • Loading branch information
MasterDuke17 committed Dec 7, 2020
1 parent 909d39a commit e8d6366
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/debug/debugserver.c
Expand Up @@ -934,8 +934,8 @@ static void send_thread_info(MVMThreadContext *dtc, cmp_ctx_t *ctx, request_data
if (threadname != NULL && strlen(threadname)) {
cmp_write_str(ctx, "name", 4);
cmp_write_str(ctx, threadname, strlen(threadname));
MVM_free(threadname);
}
MVM_free(threadname);

cur_thread = cur_thread->body.next;
}
Expand Down
11 changes: 10 additions & 1 deletion src/profiler/heapsnapshot.c
Expand Up @@ -1001,8 +1001,10 @@ void string_heap_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCollect
i++;
}

if (result_buffer_insert_pos == result_buffer)
if (result_buffer_insert_pos == result_buffer) {
MVM_free(result_buffer_insert_pos);
return;
}

size_position = ftell(fh);
fwrite(&typename, sizeof(char), 8, fh);
Expand All @@ -1012,6 +1014,7 @@ void string_heap_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCollect
cstream = ZSTD_createCStream();

if (ZSTD_isError(return_value = ZSTD_initCStream(cstream, ZSTD_COMPRESSION_VALUE))) {
MVM_free(result_buffer);
MVM_panic(1, "ZSTD compression error in heap snapshot: %s", ZSTD_getErrorName(return_value));
}

Expand All @@ -1033,6 +1036,8 @@ void string_heap_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCollect
return_value = ZSTD_compressStream(cstream, &outbuf, &inbuf);

if (ZSTD_isError(return_value)) {
MVM_free(outbuf.dst);
MVM_free(result_buffer);
MVM_panic(1, "Error compressing heap snapshot data: %s", ZSTD_getErrorName(return_value));
}

Expand All @@ -1059,6 +1064,8 @@ void string_heap_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCollect


if (ZSTD_isError(return_value)) {
MVM_free(outbuf.dst);
MVM_free(result_buffer);
MVM_panic(1, "Error compressing heap snapshot data: %s", ZSTD_getErrorName(return_value));
}

Expand Down Expand Up @@ -1757,6 +1764,7 @@ static void filemeta_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCol
fwrite(&size, sizeof(MVMuint64), 1, fh);

fputs(metadata, fh);
MVM_free(metadata);
fputc(0, fh);

end_position = ftell(fh);
Expand Down Expand Up @@ -1808,6 +1816,7 @@ static void snapmeta_to_filehandle_ver3(MVMThreadContext *tc, MVMHeapSnapshotCol
fwrite(&size, sizeof(MVMuint64), 1, fh);

fputs(metadata, fh);
MVM_free(metadata);
fputc(0, fh);

end_position = ftell(fh);
Expand Down

0 comments on commit e8d6366

Please sign in to comment.