Skip to content

Commit 1619f0a

Browse files
committed
GPU (Linux): fix memory leaks
1 parent aba2112 commit 1619f0a

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/detection/gpu/gpu_linux.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ static const char* drmDetectDriver(FFGPUResult* gpu, FFstrbuf* pciDir, FFstrbuf*
2626
{
2727
FF_LIBRARY_LOAD(libdrm, &instance.config.library.libdrm, "dlopen(libdrm)" FF_LIBRARY_EXTENSION " failed", "libdrm" FF_LIBRARY_EXTENSION, 2)
2828
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libdrm, drmGetVersion);
29+
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libdrm, drmFreeVersion);
2930

3031
ffStrbufSetS(buffer, "/dev/dri/");
3132
ffStrbufAppendS(buffer, drmKey);
3233
FF_AUTO_CLOSE_FD int fd = open(buffer->chars, O_RDONLY);
3334
if (fd < 0) return "open(/dev/dri/drm_key) failed";
3435

35-
FF_AUTO_FREE drmVersionPtr version = ffdrmGetVersion(fd);
36+
drmVersionPtr version = ffdrmGetVersion(fd);
3637
ffStrbufSetNS(&gpu->driver, (uint32_t) version->name_len, version->name);
3738
if (version->version_major || version->version_minor || version->version_patchlevel)
3839
ffStrbufAppendF(&gpu->driver, " %d.%d.%d", version->version_major, version->version_minor, version->version_patchlevel);
@@ -46,6 +47,7 @@ static const char* drmDetectDriver(FFGPUResult* gpu, FFstrbuf* pciDir, FFstrbuf*
4647
ffStrbufAppend(&gpu->driver, buffer);
4748
}
4849
}
50+
ffdrmFreeVersion(version);
4951
return NULL;
5052
}
5153
#endif

0 commit comments

Comments
 (0)