[Libosinfo] [libosinfo PATCH] tools, detect: Check for NULL variants
Fabiano Fidêncio
fidencio at redhat.com
Wed Jul 17 10:01:19 UTC 2019
Both trees & medias may return NULL in case no os-variant was found.
Let's check for this and avoid a segmentation fault on calling
osinfo_list_get_length() with a NULL argument.
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
tools/osinfo-detect.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/osinfo-detect.c b/tools/osinfo-detect.c
index feb9978..9529ef5 100644
--- a/tools/osinfo-detect.c
+++ b/tools/osinfo-detect.c
@@ -137,10 +137,12 @@ static void print_media(OsinfoMedia *media)
} else {
OsinfoOsVariantList *variants;
const gchar *name;
- guint num_variants;
+ guint num_variants = 0;
variants = osinfo_media_get_os_variants(media);
- num_variants = osinfo_list_get_length(OSINFO_LIST(variants));
+ if (variants != NULL)
+ num_variants = osinfo_list_get_length(OSINFO_LIST(variants));
+
if (num_variants == 1) {
OsinfoEntity *variant;
@@ -206,10 +208,12 @@ static void print_tree(OsinfoTree *tree)
} else {
OsinfoOsVariantList *variants;
const gchar *name;
- guint num_variants;
+ guint num_variants = 0;
variants = osinfo_tree_get_os_variants(tree);
- num_variants = osinfo_list_get_length(OSINFO_LIST(variants));
+ if (variants != NULL)
+ num_variants = osinfo_list_get_length(OSINFO_LIST(variants));
+
if (num_variants == 1) {
OsinfoEntity *variant;
--
2.21.0
More information about the Libosinfo
mailing list