Potentially allocated memory allocated for mask is not freed when
the allocation for value fails.

Fixes: 81a30f416ec7 ("netlink: add bitset command line parser handlers")

Cc: Michal Kubecek <mkube...@suse.cz>
Signed-off-by: Ivan Vecera <ivec...@redhat.com>
---
 netlink/parser.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/netlink/parser.c b/netlink/parser.c
index c5a368a65a7a..3b25f5d5a88e 100644
--- a/netlink/parser.c
+++ b/netlink/parser.c
@@ -630,8 +630,10 @@ static int parse_numeric_bitset(struct nl_context *nlctx, 
uint16_t type,
        }
 
        value = calloc(nwords, sizeof(uint32_t));
-       if (!value)
+       if (!value) {
+               free(mask);
                return -ENOMEM;
+       }
        ret = __parse_num_string(arg, len1, value, force_hex1);
        if (ret < 0) {
                parser_err_invalid_value(nlctx, arg);
-- 
2.26.2

Reply via email to