summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-09-06 11:26:45 +0200
committerThomas Haller <thaller@redhat.com>2018-09-07 11:24:17 +0200
commit9740d3a68cb344674e2cd7db41a5af0fbe3065d2 (patch)
treebcd54ddc1491c0ae2482617e0cb60b337a9af3b4 /src
parenta30dd1eff041751fd26d5e3dba1a5f5693569ba5 (diff)
downloadNetworkManager-9740d3a68cb344674e2cd7db41a5af0fbe3065d2.tar.gz
platform/netlink: assert that callbacks don't return positive error code
Diffstat (limited to 'src')
-rw-r--r--src/platform/nm-netlink.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/platform/nm-netlink.c b/src/platform/nm-netlink.c
index 7b79a772c0..d148b7c855 100644
--- a/src/platform/nm-netlink.c
+++ b/src/platform/nm-netlink.c
@@ -1109,6 +1109,10 @@ do { \
case NL_STOP: \
goto stop; \
default: \
+ if (err >= 0) { \
+ nm_assert_not_reached (); \
+ err = -NLE_BUG; \
+ } \
goto out; \
} \
} \
@@ -1216,11 +1220,12 @@ continue_reading:
else if (err == NL_SKIP)
goto skip;
else if (err == NL_STOP) {
- err = -e->error;
+ err = -nl_syserr2nlerr (e->error);
goto out;
}
+ nm_assert (err == NL_OK);
} else {
- err = -e->error;
+ err = -nl_syserr2nlerr (e->error);
goto out;
}
} else
@@ -1251,6 +1256,7 @@ out:
if (interrupted)
err = -NLE_DUMP_INTR;
+ nm_assert (err <= 0);
return err ?: nrecv;
}