Blob Blame History Raw
From: Patrizio Tufarolo <patriziotufarolo@gmail.com>
Date: Wed, 25 May 2022 08:11:36 +0200
Forwarded: not-needed
Subject: fix_segfault_on_DNS_entries

---
 src/modules/nm09.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/nm09.c b/src/modules/nm09.c
index 2b3098b..4d2d935 100644
--- a/src/modules/nm09.c
+++ b/src/modules/nm09.c
@@ -533,6 +533,7 @@ static mmguiconn_t mmgui_module_connection_get_params(mmguicore_t mmguicore, con
 	GVariant *addrvar;
 	gchar *techstr;
 	mmguiconn_t connection;
+       int n_dns_entries;
 		
 	if ((mmguicore == NULL) || (connpath == NULL)) return NULL;
 	
@@ -630,7 +631,9 @@ static mmguiconn_t mmgui_module_connection_get_params(mmguicore_t mmguicore, con
 					if (connipv4sec != NULL) {
 						/*DNS*/
 						conndnsvar = g_variant_lookup_value(connipv4sec, "dns", G_VARIANT_TYPE_ARRAY);
-						for (i = 0; i < g_variant_n_children(conndnsvar); i++) {
+                                               n_dns_entries = 0;
+						if (conndnsvar) n_dns_entries = g_variant_n_children(conndnsvar);
+						for (i = 0; i < n_dns_entries; i++) {
 							addrvar = g_variant_get_child_value(conndnsvar, i);
 							addrint = ntohl(g_variant_get_uint32(addrvar));
 							if (connection->dns1 == NULL) {