pf: fix memory leak on rule add parse failure

Reported by:	Igor Ostapenko <pm@igoro.pro>
Reviewed by:	Igor Ostapenko <pm@igoro.pro>
Sponsored by:	Rubicon Communications, LLC ("Netgate")
This commit is contained in:
Kristof Provost 2023-12-11 20:43:20 +01:00
parent 8ccd0b876e
commit e249f5daa4

View file

@ -625,8 +625,10 @@ pf_handle_addrule(struct nlmsghdr *hdr, struct nl_pstate *npt)
attrs.rule = pf_krule_alloc();
error = nl_parse_nlmsg(hdr, &addrule_parser, npt, &attrs);
if (error != 0)
if (error != 0) {
pf_free_rule(attrs.rule);
return (error);
}
error = pf_ioctl_addrule(attrs.rule, attrs.ticket, attrs.pool_ticket,
attrs.anchor, attrs.anchor_call, nlp_get_cred(npt->nlp)->cr_uid,