[Open-scap] [PATCH 1/4] oscap: Don't segfault if './utils/oscap -V' is run from build directory.
Richard W.M. Jones
rjones at redhat.com
Mon Apr 15 14:02:43 UTC 2013
From: "Richard W.M. Jones" <rjones at redhat.com>
---
utils/oscap.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/utils/oscap.c b/utils/oscap.c
index 51d67fc..3e4e3f2 100644
--- a/utils/oscap.c
+++ b/utils/oscap.c
@@ -132,26 +132,28 @@ static int print_versions(const struct oscap_action *action)
char default_cpe_path[PATH_MAX];
snprintf(default_cpe_path, PATH_MAX, "%s/openscap-cpe-dict.xml", oscap_path_to_cpe());
struct cpe_dict_model* cpe_dict = cpe_dict_model_import(default_cpe_path);
+ if (cpe_dict != NULL) {
- struct cpe_item_iterator* cpe_items = cpe_dict_model_get_items(cpe_dict);
- while (cpe_item_iterator_has_more(cpe_items))
- {
- struct cpe_item* cpe_item = cpe_item_iterator_next(cpe_items);
+ struct cpe_item_iterator* cpe_items = cpe_dict_model_get_items(cpe_dict);
+ while (cpe_item_iterator_has_more(cpe_items))
+ {
+ struct cpe_item* cpe_item = cpe_item_iterator_next(cpe_items);
- struct oscap_text_iterator* titles = cpe_item_get_titles(cpe_item);
- char* str_title = oscap_textlist_get_preferred_plaintext(titles, NULL);
- oscap_text_iterator_free(titles);
+ struct oscap_text_iterator* titles = cpe_item_get_titles(cpe_item);
+ char* str_title = oscap_textlist_get_preferred_plaintext(titles, NULL);
+ oscap_text_iterator_free(titles);
- struct cpe_name* name = cpe_item_get_name(cpe_item);
- char * str_name = cpe_name_get_as_format(name, CPE_FORMAT_URI);
+ struct cpe_name* name = cpe_item_get_name(cpe_item);
+ char * str_name = cpe_name_get_as_format(name, CPE_FORMAT_URI);
- printf("%s - %s\n", str_title, str_name);
+ printf("%s - %s\n", str_title, str_name);
- free(str_name);
- free(str_title);
+ free(str_name);
+ free(str_title);
+ }
+ cpe_item_iterator_free(cpe_items);
+ cpe_dict_model_free(cpe_dict);
}
- cpe_item_iterator_free(cpe_items);
- cpe_dict_model_free(cpe_dict);
printf("\n");
printf("==== Supported OVAL objects and associated OpenSCAP probes ====\n");
--
1.8.1.4
More information about the Open-scap-list
mailing list