From: Tysen Moore <[email protected]>

---
 src/iptables.c |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/iptables.c b/src/iptables.c
index 49434be..f73f134 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -1380,18 +1380,27 @@ static void dump_ipt_replace(struct ipt_replace *repl)
 static int iptables_get_entries(struct connman_iptables *table)
 {
        socklen_t entry_size;
+       int err;
 
        entry_size = sizeof(struct ipt_get_entries) + table->info->size;
 
-       return getsockopt(table->ipt_sock, IPPROTO_IP, IPT_SO_GET_ENTRIES,
+       err = getsockopt(table->ipt_sock, IPPROTO_IP, IPT_SO_GET_ENTRIES,
                                table->blob_entries, &entry_size);
+       if (err < 0)
+               return -errno;
+
+       return 0;
 }
 
 static int iptables_replace(struct connman_iptables *table,
                                        struct ipt_replace *r)
 {
-       return setsockopt(table->ipt_sock, IPPROTO_IP, IPT_SO_SET_REPLACE, r,
+       int err = setsockopt(table->ipt_sock, IPPROTO_IP, IPT_SO_SET_REPLACE, r,
                         sizeof(*r) + r->size);
+       if (err < 0)
+               return -errno;
+
+       return 0;
 }
 
 static int add_entry(struct ipt_entry *entry, int builtin, unsigned int hook,
-- 
1.7.9.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to