Skip to content

Commit b746e31

Browse files
authored
Merge pull request #1969 from jan-cerny/mem_leak
Plug a memory leak
2 parents ff3cf70 + b4ada9f commit b746e31

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

src/DS/rds.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,10 @@ int ds_rds_create(const char* sds_file, const char* xccdf_result_file, const cha
888888
result = -1;
889889
oscap_source_free(oval_source);
890890
} else {
891-
oscap_htable_add(oval_result_sources, *oval_result_files, oval_source);
891+
if (!oscap_htable_add(oval_result_sources, *oval_result_files, oval_source)) {
892+
result = -1;
893+
oscap_source_free(oval_source);
894+
}
892895
}
893896
oval_result_files++;
894897
}

src/DS/sds.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,9 @@ int ds_sds_dump_component_ref_as(const xmlNodePtr component_ref, struct ds_sds_s
509509
// make a copy of xlink_href because ds_sds_dump_component_by_href modifies its second argument
510510
char *xlink_href_copy = oscap_strdup(xlink_href);
511511
int ret = ds_sds_dump_component_by_href(session, xlink_href, target_filename_dirname, relative_filepath, cref_id, &component_id);
512-
oscap_htable_add(ds_sds_session_get_component_uris(session), cref_id, xlink_href_copy);
512+
if (!oscap_htable_add(ds_sds_session_get_component_uris(session), cref_id, xlink_href_copy)) {
513+
free(xlink_href_copy);
514+
}
513515

514516
xmlFree(xlink_href);
515517
xmlFree(cref_id);

src/OVAL/oval_generator.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,10 @@ void oval_generator_update_timestamp(struct oval_generator *generator)
171171

172172
void oval_generator_add_platform_schema_version(struct oval_generator *generator, const char *platform, const char *schema_version)
173173
{
174-
oscap_htable_add(generator->platform_schema_versions, platform, oscap_strdup(schema_version));
174+
char *schema_version_dup = oscap_strdup(schema_version);
175+
if (!oscap_htable_add(generator->platform_schema_versions, platform, schema_version_dup)) {
176+
free(schema_version_dup);
177+
}
175178
}
176179

177180

0 commit comments

Comments
 (0)