From d96a2eb29205b1676288331aa4ff5bbb501520db Mon Sep 17 00:00:00 2001 From: Tvrtko Ursulin Date: Wed, 15 Apr 2026 10:34:54 +0100 Subject: [PATCH] plugins/amdgpu: Close file on failures in amdgpu_plugin_dmabuf_restore Close the file when either memory allocation or a file read fails in amdgpu_plugin_dmabuf_restore. Signed-off-by: Tvrtko Ursulin --- plugins/amdgpu/amdgpu_plugin_dmabuf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/amdgpu/amdgpu_plugin_dmabuf.c b/plugins/amdgpu/amdgpu_plugin_dmabuf.c index e76628cc2..9057cab41 100644 --- a/plugins/amdgpu/amdgpu_plugin_dmabuf.c +++ b/plugins/amdgpu/amdgpu_plugin_dmabuf.c @@ -116,24 +116,25 @@ int amdgpu_plugin_dmabuf_restore(int id) buf = xmalloc(img_size); if (!buf) { pr_perror("Failed to allocate memory"); + fclose(img_fp); return -ENOMEM; } ret = read_fp(img_fp, buf, img_size); if (ret) { pr_perror("Unable to read from %s", path); + fclose(img_fp); xfree(buf); return ret; } + fclose(img_fp); rd = criu_dmabuf_node__unpack(NULL, img_size, buf); if (rd == NULL) { pr_perror("Unable to parse the dmabuf message %d", id); xfree(buf); - fclose(img_fp); return -1; } - fclose(img_fp); /* Match GEM handle with shared_dmabuf list */ fd_id = amdgpu_id_for_handle(rd->gem_handle);