The reference created by the parsers was never given back.
14 files changed:
/* REAL HACK, fib_lookup doesn't support ACK nor does it
* send a DONE message, enforce end of message stream
* after just the first message */
- return NL_STOP;
+ err = NL_STOP;
errout:
flnl_result_put(res);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout:
genl_family_put(family);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
-errout_errno:
- err = nl_get_errno();
errout:
nfnl_ct_put(ct);
return err;
+
+errout_errno:
+ err = nl_get_errno();
+ goto errout;
}
int nfnl_ct_dump_request(struct nl_handle *h)
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
-errout_errno:
- err = nl_get_errno();
errout:
nfnl_log_put(log);
return err;
+
+errout_errno:
+ err = nl_get_errno();
+ goto errout;
}
/**
if (err < 0)
goto errout_free;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout_free:
rtnl_addr_put(addr);
if (err < 0)
goto errout_free;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout_free:
rtnl_class_put(class);
if (err < 0)
goto errout_free;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout_free:
rtnl_cls_put(cls);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout:
rtnl_link_put(link);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout:
rtnl_neigh_put(neigh);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout:
rtnl_neightbl_put(ntbl);
return err;
if (err < 0)
goto errout_free;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout_free:
rtnl_qdisc_put(qdisc);
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
-errout_errno:
- err = nl_get_errno();
errout:
rtnl_route_put(route);
return err;
+errout_errno:
+ err = nl_get_errno();
+ goto errout;
}
static int route_request_update(struct nl_cache *c, struct nl_handle *h)
if (err < 0)
goto errout;
- return P_ACCEPT;
+ err = P_ACCEPT;
errout:
rtnl_rule_put(rule);
handle->h_local.nl_pid = generate_local_port();
if (handle->h_local.nl_pid == UINT_MAX) {
nl_handle_destroy(handle);
- nl_error(ENOBUFS, "Out of sequence numbers");
+ nl_error(ENOBUFS, "Out of local ports");
return NULL;
}