Skip to content

Commit c9a1049

Browse files
authored
Merge pull request #2085 from evgenyz/fix-requires-and-warnings
Fix `requires` and warnings
2 parents 80daf96 + ee19703 commit c9a1049

File tree

9 files changed

+37
-33
lines changed

9 files changed

+37
-33
lines changed

src/CPE/cpe_session.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ struct oval_agent_session *cpe_session_lookup_oval_session(struct cpe_session *c
114114
return NULL;
115115
}
116116

117-
char *base_name = oscap_basename(prefixed_href);
117+
char *prefixed_href_dup = oscap_strdup(prefixed_href);
118+
char *base_name = oscap_basename(prefixed_href_dup);
119+
free(prefixed_href_dup);
118120
session = oval_agent_new_session(oval_model, base_name);
119121
free(base_name);
120122
if (session == NULL) {

src/OVAL/probes/independent/yamlfilecontent_probe.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,15 @@ static int process_yaml_file(const char *prefix, const char *path, const char *f
392392
{
393393
int ret = 0;
394394

395-
yaml_parser_t parser;
396-
yaml_parser_initialize(&parser);
397-
398395
char *filepath = oscap_path_join(path, filename);
399396
if (probe_path_is_blocked(filepath, ctx->blocked_paths)) {
400-
goto cleanup;
397+
free(filepath);
398+
return 0;
401399
}
400+
401+
yaml_parser_t parser;
402+
yaml_parser_initialize(&parser);
403+
402404
char *filepath_with_prefix = oscap_path_join(prefix, filepath);
403405

404406
FILE *yaml_file = fopen(filepath_with_prefix, "r");

src/OVAL/probes/unix/xinetd_probe.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ xiconf_t *xiconf_parse(const char *path, unsigned int max_depth)
746746

747747
switch (inctype) {
748748
case XICONF_INCTYPE_FILE:
749-
strncpy (pathbuf, inclarg, sizeof(pathbuf));
749+
strncpy (pathbuf, inclarg, sizeof(pathbuf)-1);
750750

751751
dD("includefile: %s", pathbuf);
752752

src/OVAL/results/oval_cmp_evr_string.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ static inline int rpmevrcmp(const char *a, const char *b)
9191
/* This mimics rpmevrcmp which is not exported by rpmlib version 4.
9292
* Code inspired by rpm.labelCompare() from rpm4/python/header-py.c
9393
*/
94-
const char *a_epoch, *a_version, *a_release;
95-
const char *b_epoch, *b_version, *b_release;
94+
const char *a_epoch = NULL, *a_version = NULL, *a_release = NULL;
95+
const char *b_epoch = NULL, *b_version = NULL, *b_release = NULL;
9696
char *a_copy, *b_copy;
9797
int result;
9898

@@ -399,8 +399,8 @@ static int dpkg_version_compare(struct dpkg_version *a, struct dpkg_version *b)
399399
oval_result_t oval_debian_evr_string_cmp(const char *state, const char *sys, oval_operation_t operation)
400400
{
401401
struct dpkg_version a, b;
402-
const char *a_epoch, *a_version, *a_release;
403-
const char *b_epoch, *b_version, *b_release;
402+
const char *a_epoch = NULL, *a_version = NULL, *a_release = NULL;
403+
const char *b_epoch = NULL, *b_version = NULL, *b_release = NULL;
404404
char *a_copy, *b_copy;
405405
long aux;
406406

src/XCCDF/item.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,7 @@ void xccdf_rule_item_clone(struct xccdf_rule_item *clone, const struct xccdf_rul
11901190
clone->idents = oscap_list_clone(item->idents, (oscap_clone_func) xccdf_ident_clone );
11911191
clone->checks = oscap_list_clone(item->checks, (oscap_clone_func) xccdf_check_clone );
11921192
//requires is an oscap_list of oscap_lists of char *
1193-
clone->requires = oscap_list_clone(item->requires, (oscap_clone_func) oscap_stringlist_clone);
1193+
clone->requires_ = oscap_list_clone(item->requires_, (oscap_clone_func) oscap_stringlist_clone);
11941194
//conflicts is an oscap_list of char *
11951195
clone->conflicts = oscap_list_clone(item->conflicts, (oscap_clone_func) oscap_strdup);
11961196
clone->profile_notes = oscap_list_clone(item->profile_notes, (oscap_clone_func) xccdf_profile_note_clone);
@@ -1202,7 +1202,7 @@ void xccdf_group_item_clone(struct xccdf_item *parent, const struct xccdf_group_
12021202
{
12031203
struct xccdf_group_item *clone = &parent->sub.group;
12041204
//requires is an oscap_list of oscap_lists of char *
1205-
clone->requires = oscap_list_clone(item->requires, (oscap_clone_func) oscap_stringlist_clone);
1205+
clone->requires_ = oscap_list_clone(item->requires_, (oscap_clone_func) oscap_stringlist_clone);
12061206
//conflicts is an oscap_list of char *
12071207
clone->conflicts = oscap_list_clone(item->conflicts, (oscap_clone_func) oscap_strdup);
12081208
clone->values = oscap_list_clone(item->values, (oscap_clone_func) xccdf_value_clone);

src/XCCDF/item.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ struct xccdf_rule_item {
9292
xccdf_role_t role;
9393
xccdf_level_t severity;
9494

95-
struct oscap_list *requires;
95+
struct oscap_list *requires_;
9696
struct oscap_list *conflicts;
9797

9898
struct oscap_list *profile_notes;
@@ -103,7 +103,7 @@ struct xccdf_rule_item {
103103
};
104104

105105
struct xccdf_group_item {
106-
struct oscap_list *requires;
106+
struct oscap_list *requires_;
107107
struct oscap_list *conflicts;
108108

109109
struct oscap_list *values;

src/XCCDF/public/xccdf_benchmark.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3343,11 +3343,11 @@ OSCAP_API bool xccdf_item_add_warning(struct xccdf_item *item, struct xccdf_warn
33433343
OSCAP_API bool xccdf_refine_rule_add_remark(struct xccdf_refine_rule *obj, struct oscap_text *item);
33443344

33453345
/// @memberof xccdf_rule
3346-
OSCAP_API bool xccdf_rule_add_requires(struct xccdf_rule *rule, struct oscap_stringlist *requires);
3346+
OSCAP_API bool xccdf_rule_add_requires(struct xccdf_rule *rule, struct oscap_stringlist *requires_);
33473347
/// @memberof xccdf_group
3348-
OSCAP_API bool xccdf_group_add_requires(struct xccdf_group *group, struct oscap_stringlist *requires);
3348+
OSCAP_API bool xccdf_group_add_requires(struct xccdf_group *group, struct oscap_stringlist *requires_);
33493349
/// @memberof xccdf_item
3350-
OSCAP_API bool xccdf_item_add_requires(struct xccdf_item *item, struct oscap_stringlist *requires);
3350+
OSCAP_API bool xccdf_item_add_requires(struct xccdf_item *item, struct oscap_stringlist *requires_);
33513351
/// @memberof xccdf_rule
33523352
OSCAP_API bool xccdf_rule_add_conflicts(struct xccdf_rule *rule, const char *conflicts);
33533353
/// @memberof xccdf_group

src/XCCDF/rule.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ static void xccdf_deps_get(struct xccdf_item *item, struct oscap_list **conflict
8383
if (conflicts)
8484
*conflicts = item->sub.rule.conflicts;
8585
if (requires)
86-
*requires = item->sub.rule.requires;
86+
*requires = item->sub.rule.requires_;
8787
break;
8888
case XCCDF_GROUP:
8989
if (conflicts)
9090
*conflicts = item->sub.group.conflicts;
9191
if (requires)
92-
*requires = item->sub.group.requires;
92+
*requires = item->sub.group.requires_;
9393
break;
9494
default:
9595
assert(false);
@@ -182,7 +182,7 @@ struct xccdf_item *xccdf_group_new_internal(struct xccdf_item *parent)
182182
{
183183
struct xccdf_item *group = xccdf_item_new(XCCDF_GROUP, parent);
184184
group->sub.group.content = oscap_list_new();
185-
group->sub.group.requires = oscap_list_new();
185+
group->sub.group.requires_ = oscap_list_new();
186186
group->sub.group.conflicts = oscap_list_new();
187187
group->sub.group.values = oscap_list_new();
188188
return group;
@@ -265,7 +265,7 @@ void xccdf_group_free(struct xccdf_item *group)
265265
if (group) {
266266
oscap_list_free(group->sub.group.content, (oscap_destruct_func) xccdf_item_free);
267267
oscap_list_free(group->sub.group.values, (oscap_destruct_func) xccdf_value_free);
268-
oscap_list_free(group->sub.group.requires, (oscap_destruct_func) xccdf_free_strlist);
268+
oscap_list_free(group->sub.group.requires_, (oscap_destruct_func) xccdf_free_strlist);
269269
oscap_list_free(group->sub.group.conflicts, free);
270270
xccdf_item_release(group);
271271
}
@@ -279,7 +279,7 @@ struct xccdf_item *xccdf_rule_new_internal(struct xccdf_item *parent)
279279

280280
rule->sub.rule.idents = oscap_list_new();
281281
rule->sub.rule.checks = oscap_list_new();
282-
rule->sub.rule.requires = oscap_list_new();
282+
rule->sub.rule.requires_ = oscap_list_new();
283283
rule->sub.rule.conflicts = oscap_list_new();
284284
rule->sub.rule.profile_notes = oscap_list_new();
285285
rule->sub.rule.fixes = oscap_list_new();
@@ -393,7 +393,7 @@ void xccdf_rule_free(struct xccdf_item *rule)
393393
oscap_list_free(rule->sub.rule.profile_notes, (oscap_destruct_func) xccdf_profile_note_free);
394394
oscap_list_free(rule->sub.rule.fixes, (oscap_destruct_func) xccdf_fix_free);
395395
oscap_list_free(rule->sub.rule.fixtexts, (oscap_destruct_func) xccdf_fixtext_free);
396-
oscap_list_free(rule->sub.rule.requires, (oscap_destruct_func) xccdf_free_strlist);
396+
oscap_list_free(rule->sub.rule.requires_, (oscap_destruct_func) xccdf_free_strlist);
397397
oscap_list_free(rule->sub.rule.conflicts, free);
398398
xccdf_item_release(rule);
399399
}
@@ -883,28 +883,28 @@ struct oscap_stringlist_iterator *xccdf_item_get_requires(const struct xccdf_ite
883883
}
884884
struct oscap_stringlist_iterator *xccdf_rule_get_requires(const struct xccdf_rule* rule)
885885
{
886-
return oscap_iterator_new(XITEM(rule)->sub.rule.requires);
886+
return oscap_iterator_new(XITEM(rule)->sub.rule.requires_);
887887
}
888888
struct oscap_stringlist_iterator *xccdf_group_get_requires(const struct xccdf_group* group)
889889
{
890-
return oscap_iterator_new(XITEM(group)->sub.group.requires);
890+
return oscap_iterator_new(XITEM(group)->sub.group.requires_);
891891
}
892892

893-
bool xccdf_rule_add_requires(struct xccdf_rule* rule, struct oscap_stringlist* requires)
893+
bool xccdf_rule_add_requires(struct xccdf_rule* rule, struct oscap_stringlist* requires_)
894894
{
895-
oscap_list_add(XITEM(rule)->sub.rule.requires, requires);
895+
oscap_list_add(XITEM(rule)->sub.rule.requires_, requires_);
896896
return true;
897897
}
898-
bool xccdf_group_add_requires(struct xccdf_group* group, struct oscap_stringlist* requires)
898+
bool xccdf_group_add_requires(struct xccdf_group* group, struct oscap_stringlist* requires_)
899899
{
900-
oscap_list_add(XITEM(group)->sub.group.requires, requires);
900+
oscap_list_add(XITEM(group)->sub.group.requires_, requires_);
901901
return true;
902902
}
903-
bool xccdf_item_add_requires(struct xccdf_item* item, struct oscap_stringlist* requires)
903+
bool xccdf_item_add_requires(struct xccdf_item* item, struct oscap_stringlist* requires_)
904904
{
905905
if (item == NULL) return NULL;
906-
if (item->type == XCCDF_RULE) return xccdf_rule_add_requires ( XRULE(item), requires);
907-
if (item->type == XCCDF_GROUP) return xccdf_group_add_requires(XGROUP(item), requires);
906+
if (item->type == XCCDF_RULE) return xccdf_rule_add_requires ( XRULE(item), requires_);
907+
if (item->type == XCCDF_GROUP) return xccdf_group_add_requires(XGROUP(item), requires_);
908908
return false;
909909
}
910910

swig/python3/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ include_directories(${PYTHON_INCLUDE_PATH})
55

66
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
77

8-
set(CMAKE_SWIG_FLAGS "-module" "openscap_py" "-py3")
8+
set(CMAKE_SWIG_FLAGS "-module" "openscap_py")
99
if (${CMAKE_VERSION} VERSION_LESS "3.8.0")
1010
swig_add_module(openscap_py python ../openscap.i)
1111
else()

0 commit comments

Comments
 (0)