drm/selftests/test-drm_dp_mst_helper: Fix memory leak in sideband_msg_req_encode_decode
authorJosé Expósito <jose.exposito89@gmail.com>
Sat, 8 Jan 2022 16:58:12 +0000 (17:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:24 +0000 (14:23 +0200)
[ Upstream commit ba3a5ddcf1e5df31f2291006d5297ca62035584f ]

Avoid leaking the "out" variable if it is not possible to allocate
the "txmsg" variable.

Fixes: 09234b88ef55 ("drm/selftests/test-drm_dp_mst_helper: Move 'sideband_msg_req_encode_decode' onto the heap")
Addresses-Coverity-ID: 1475685 ("Resource leak")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220108165812.46797-1-jose.exposito89@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c

index 6b4759ed6bfd44b33a4eb5019d8b5a6399aa3144..c491429f1a029da75f96c00b313ec55caa3264ef 100644 (file)
@@ -131,8 +131,10 @@ sideband_msg_req_encode_decode(struct drm_dp_sideband_msg_req_body *in)
                return false;
 
        txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
-       if (!txmsg)
+       if (!txmsg) {
+               kfree(out);
                return false;
+       }
 
        drm_dp_encode_sideband_req(in, txmsg);
        ret = drm_dp_decode_sideband_req(txmsg, out);