summaryrefslogtreecommitdiff
path: root/accel-pppd/libnetlink
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/libnetlink')
-rw-r--r--accel-pppd/libnetlink/genl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/accel-pppd/libnetlink/genl.c b/accel-pppd/libnetlink/genl.c
index 0c758077..8cdfce89 100644
--- a/accel-pppd/libnetlink/genl.c
+++ b/accel-pppd/libnetlink/genl.c
@@ -82,12 +82,14 @@ int __export genl_resolve_mcg(const char *family, const char *name, int *fam_id)
goto out;
}
- if (!tb[CTRL_ATTR_MCAST_GROUPS])
- goto out;
-
+ /* report the family id even if the group lookup below fails, the
+ * caller may still have use for it */
if (fam_id)
*fam_id = *(uint16_t *)(RTA_DATA(tb[CTRL_ATTR_FAMILY_ID]));
+ if (!tb[CTRL_ATTR_MCAST_GROUPS])
+ goto out;
+
parse_rtattr_nested(tb2, GENL_MAX_FAM_GRPS, tb[CTRL_ATTR_MCAST_GROUPS]);
for (i = 1; i < GENL_MAX_FAM_GRPS; i++) {