netlink_get_register() may return NULL and every other caller checks
that. Assuming this situation is not expected, just jump to 'err' label
without queueing an explicit error message.

Fixes: 2be1d52644cf7 ("src: Add tproxy support")
Signed-off-by: Phil Sutter <p...@nwl.cc>
---
 src/netlink_delinearize.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index f7d328a836998..154353b8161a0 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -1041,6 +1041,8 @@ static void netlink_parse_tproxy(struct netlink_parse_ctx 
*ctx,
        reg = netlink_parse_register(nle, NFTNL_EXPR_TPROXY_REG_ADDR);
        if (reg) {
                addr = netlink_get_register(ctx, loc, reg);
+               if (addr == NULL)
+                       goto err;
 
                switch (stmt->tproxy.family) {
                case NFPROTO_IPV4:
@@ -1060,6 +1062,8 @@ static void netlink_parse_tproxy(struct netlink_parse_ctx 
*ctx,
        reg = netlink_parse_register(nle, NFTNL_EXPR_TPROXY_REG_PORT);
        if (reg) {
                port = netlink_get_register(ctx, loc, reg);
+               if (port == NULL)
+                       goto err;
                expr_set_type(port, &inet_service_type, BYTEORDER_BIG_ENDIAN);
                stmt->tproxy.port = port;
        }
-- 
2.23.0

Reply via email to