Skip to content

Commit 476fd47

Browse files
committed
pkg_editor: resolve memory leak of string table data buffer
1 parent 5e8b679 commit 476fd47

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lib/pkg_editor/src/pkg_editor.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,16 @@ int acl_pkg_close_file(acl_pkg_file *pkg) {
11071107
// allocated buffers used to store file contents may be freed.
11081108
free_buffers(pkg);
11091109

1110+
// If the file is not read-only, the string table data buffer
1111+
// has been dynamically allocated in add_required_parts() when
1112+
// creating a new file, or make_string_table_extensible() when
1113+
// appending to an existing file, and may be freed now.
1114+
if (pkg->writable) {
1115+
Elf_Data *data = get_name_data_ptr(pkg);
1116+
assert(data);
1117+
free(data->d_buf);
1118+
}
1119+
11101120
// Should be albe to call elf_end even if elf_update failed
11111121
while (elf_end(pkg->elf)) {
11121122
if (pkg->show_info)

0 commit comments

Comments
 (0)