The `fail_rx`/`fail` block is only entered while `buf_rx` is equal to
its initial value `MAP_FAILED`. The `munmap(buf_rx, size);` was never
executed.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2030
Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <
20231219182212.455952-2-sam@rfc1149.net>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
fail_rx:
error_setg_errno(errp, errno, "failed to map shared memory for execute");
fail:
- if (buf_rx != MAP_FAILED) {
- munmap(buf_rx, size);
- }
+ /* buf_rx is always equal to MAP_FAILED here and does not require cleanup */
if (buf_rw) {
munmap(buf_rw, size);
}