summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <philip@tecnocode.co.uk>2023-05-09 12:27:05 +0000
committerPhilip Withnall <philip@tecnocode.co.uk>2023-05-09 12:27:05 +0000
commit1461c29301e95042268abca0c6e315d27500b948 (patch)
tree248b1aba334c9b559b2a7f7a9ae53d89b0467a71
parentde2ff264540b892a7eac26805010cf27fbb28a39 (diff)
parente59e8ebf31fa1bb654dd939e753746f801ff7b94 (diff)
downloadglib-1461c29301e95042268abca0c6e315d27500b948.tar.gz
Merge branch 'win32-network-monitor-error' into 'main'
gwin32networkmonitor: Fix returning address of local variable See merge request GNOME/glib!3425
-rw-r--r--gio/gwin32networkmonitor.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/gio/gwin32networkmonitor.c b/gio/gwin32networkmonitor.c
index 9dd5da757..e219225f0 100644
--- a/gio/gwin32networkmonitor.c
+++ b/gio/gwin32networkmonitor.c
@@ -78,24 +78,24 @@ g_win32_network_monitor_init (GWin32NetworkMonitor *win)
}
static gboolean
-win_network_monitor_get_ip_info (IP_ADDRESS_PREFIX prefix,
- GSocketFamily *family,
- const guint8 **dest,
- gsize *len)
+win_network_monitor_get_ip_info (const IP_ADDRESS_PREFIX *prefix,
+ GSocketFamily *family,
+ const guint8 **dest,
+ gsize *len)
{
- switch (prefix.Prefix.si_family)
+ switch (prefix->Prefix.si_family)
{
case AF_UNSPEC:
/* Fall-through: AF_UNSPEC deliveres both IPV4 and IPV6 infos, let`s stick with IPV4 here */
case AF_INET:
*family = G_SOCKET_FAMILY_IPV4;
- *dest = (guint8 *) &prefix.Prefix.Ipv4.sin_addr;
- *len = prefix.PrefixLength;
+ *dest = (guint8 *) &(prefix->Prefix.Ipv4.sin_addr);
+ *len = prefix->PrefixLength;
break;
case AF_INET6:
*family = G_SOCKET_FAMILY_IPV6;
- *dest = (guint8 *) &prefix.Prefix.Ipv6.sin6_addr;
- *len = prefix.PrefixLength;
+ *dest = (guint8 *) &(prefix->Prefix.Ipv6.sin6_addr);
+ *len = prefix->PrefixLength;
break;
default:
return FALSE;
@@ -152,7 +152,7 @@ win_network_monitor_process_table (GWin32NetworkMonitor *win,
route = routes->Table + i;
- if (!win_network_monitor_get_ip_info (route->DestinationPrefix, &family, &dest, &len))
+ if (!win_network_monitor_get_ip_info (&route->DestinationPrefix, &family, &dest, &len))
continue;
network = get_network_mask (family, dest, len);
@@ -218,13 +218,13 @@ win_network_monitor_invoke_route_changed (gpointer user_data)
switch (route_data->type)
{
case MibDeleteInstance:
- if (!win_network_monitor_get_ip_info (route_data->route->DestinationPrefix, &family, &dest, &len))
+ if (!win_network_monitor_get_ip_info (&route_data->route->DestinationPrefix, &family, &dest, &len))
break;
remove_network (route_data->win, family, dest, len);
break;
case MibAddInstance:
- if (!win_network_monitor_get_ip_info (route_data->route->DestinationPrefix, &family, &dest, &len))
+ if (!win_network_monitor_get_ip_info (&route_data->route->DestinationPrefix, &family, &dest, &len))
break;
add_network (route_data->win, family, dest, len);