@@ -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