Fix memory leak in encoding/ini

A simple change that fixes a memory leak caused by not deleting all the
values in the map
This commit is contained in:
Ronald
2024-07-17 21:19:14 +01:00
parent 0bb4cc6ce5
commit f04db7145c
+5 -2
View File
@@ -92,7 +92,6 @@ load_map_from_string :: proc(src: string, allocator: runtime.Allocator, options
} }
} }
return strings.clone(val) return strings.clone(val)
} }
context.allocator = allocator context.allocator = allocator
@@ -114,7 +113,10 @@ load_map_from_string :: proc(src: string, allocator: runtime.Allocator, options
new_key = strings.to_lower(key) or_return new_key = strings.to_lower(key) or_return
delete(old_key) or_return delete(old_key) or_return
} }
pairs[new_key] = unquote(value) or_return pairs[new_key], err = unquote(value)
if err != nil {
return
}
} }
return return
} }
@@ -144,6 +146,7 @@ delete_map :: proc(m: Map) {
delete(value, allocator) delete(value, allocator)
} }
delete(section) delete(section)
delete(pairs)
} }
delete(m) delete(m)
} }