* [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion @ 2025-06-25 2:26 Tim Blechmann via ffmpeg-devel 2025-06-27 21:47 ` Michael Niedermayer 0 siblings, 1 reply; 3+ messages in thread From: Tim Blechmann via ffmpeg-devel @ 2025-06-25 2:26 UTC (permalink / raw) To: ffmpeg-devel; +Cc: Tim Blechmann [-- Attachment #1: Type: message/rfc822, Size: 11825 bytes --] From: Tim Blechmann <tim.blechmann@qt.io> To: ffmpeg-devel@ffmpeg.org Subject: [PATCH] libavutil: fix memory leak of drmVersion Date: Wed, 25 Jun 2025 10:26:16 +0800 Message-ID: <283506b9-e603-4753-bba4-9b1b27a5916a@qt.io> address sanitizer showed some leaks of drmVersion structs. `vaapi_device_create` did not call drmFreeVersion in all possible code paths. Signed-off-by: Tim Blechmann <tim.blechmann@qt.io> --- libavutil/hwcontext_vaapi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 95aa38d9d2..92b704891e 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1810,30 +1810,33 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device, char drm_vendor[8]; if (drmGetDevice(priv->drm_fd, &device)) { av_log(ctx, AV_LOG_VERBOSE, "Failed to get DRM device info for device %d.\n", n); close(priv->drm_fd); priv->drm_fd = -1; + drmFreeVersion(info); continue; } snprintf(drm_vendor, sizeof(drm_vendor), "0x%x", device->deviceinfo.pci->vendor_id); if (strcmp(vendor_id->value, drm_vendor)) { av_log(ctx, AV_LOG_VERBOSE, "Ignoring device %d " "with non-matching vendor id (%s).\n", n, vendor_id->value); drmFreeDevice(&device); close(priv->drm_fd); priv->drm_fd = -1; + drmFreeVersion(info); continue; } av_log(ctx, AV_LOG_VERBOSE, "Trying to use " "DRM render node for device %d, " "with matching vendor id (%s).\n", n, vendor_id->value); drmFreeDevice(&device); + drmFreeVersion(info); break; } drmFreeVersion(info); #endif av_log(ctx, AV_LOG_VERBOSE, "Trying to use " "DRM render node for device %d.\n", n); -- 2.48.1 [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion 2025-06-25 2:26 [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion Tim Blechmann via ffmpeg-devel @ 2025-06-27 21:47 ` Michael Niedermayer 2025-06-29 2:08 ` Tim Blechmann via ffmpeg-devel 0 siblings, 1 reply; 3+ messages in thread From: Michael Niedermayer @ 2025-06-27 21:47 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 1830 bytes --] On Wed, Jun 25, 2025 at 10:26:16AM +0800, Tim Blechmann via ffmpeg-devel wrote: > Date: Wed, 25 Jun 2025 10:26:16 +0800 > From: Tim Blechmann <tim.blechmann@qt.io> > To: ffmpeg-devel@ffmpeg.org > Subject: [PATCH] libavutil: fix memory leak of drmVersion > > address sanitizer showed some leaks of drmVersion structs. > `vaapi_device_create` did not call drmFreeVersion in all possible code > paths. > > Signed-off-by: Tim Blechmann <tim.blechmann@qt.io> > --- > libavutil/hwcontext_vaapi.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c > index 95aa38d9d2..92b704891e 100644 > --- a/libavutil/hwcontext_vaapi.c > +++ b/libavutil/hwcontext_vaapi.c > @@ -1810,30 +1810,33 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device, > char drm_vendor[8]; > if (drmGetDevice(priv->drm_fd, &device)) { > av_log(ctx, AV_LOG_VERBOSE, > "Failed to get DRM device info for device %d.\n", n); > close(priv->drm_fd); > priv->drm_fd = -1; > + drmFreeVersion(info); > continue; > } > snprintf(drm_vendor, sizeof(drm_vendor), "0x%x", > device->deviceinfo.pci->vendor_id); > if (strcmp(vendor_id->value, drm_vendor)) { error: corrupt patch at line 20 patch corrupted by newlines, make sure your editor doesnt break long lines or attach the patch or use git send-email thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In a rich man's house there is no place to spit but his face. -- Diogenes of Sinope [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion 2025-06-27 21:47 ` Michael Niedermayer @ 2025-06-29 2:08 ` Tim Blechmann via ffmpeg-devel 0 siblings, 0 replies; 3+ messages in thread From: Tim Blechmann via ffmpeg-devel @ 2025-06-29 2:08 UTC (permalink / raw) To: FFmpeg development discussions and patches, Michael Niedermayer Cc: Tim Blechmann [-- Attachment #1: Type: message/rfc822, Size: 15682 bytes --] [-- Attachment #1.1.1: Type: text/plain, Size: 2062 bytes --] attached (don't have a git send-email setup here at the moment) On 6/28/25 05:47, Michael Niedermayer wrote: > On Wed, Jun 25, 2025 at 10:26:16AM +0800, Tim Blechmann via ffmpeg-devel wrote: >> Date: Wed, 25 Jun 2025 10:26:16 +0800 >> From: Tim Blechmann <tim.blechmann@qt.io> >> To: ffmpeg-devel@ffmpeg.org >> Subject: [PATCH] libavutil: fix memory leak of drmVersion >> >> address sanitizer showed some leaks of drmVersion structs. >> `vaapi_device_create` did not call drmFreeVersion in all possible code >> paths. >> >> Signed-off-by: Tim Blechmann <tim.blechmann@qt.io> >> --- >> libavutil/hwcontext_vaapi.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c >> index 95aa38d9d2..92b704891e 100644 >> --- a/libavutil/hwcontext_vaapi.c >> +++ b/libavutil/hwcontext_vaapi.c >> @@ -1810,30 +1810,33 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device, >> char drm_vendor[8]; >> if (drmGetDevice(priv->drm_fd, &device)) { >> av_log(ctx, AV_LOG_VERBOSE, >> "Failed to get DRM device info for device %d.\n", n); >> close(priv->drm_fd); >> priv->drm_fd = -1; >> + drmFreeVersion(info); >> continue; >> } >> snprintf(drm_vendor, sizeof(drm_vendor), "0x%x", >> device->deviceinfo.pci->vendor_id); >> if (strcmp(vendor_id->value, drm_vendor)) { > > error: corrupt patch at line 20 > > patch corrupted by newlines, make sure your editor doesnt break long lines > or attach the patch or use git send-email > > thx > > [...] > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". [-- Attachment #1.1.2: 0001-libavutil-fix-memory-leak-of-drmVersion.patch --] [-- Type: text/x-patch, Size: 2355 bytes --] From c644493085ae69e659baebf687960b7bf6c3723c Mon Sep 17 00:00:00 2001 From: Tim Blechmann <tim@klingt.org> Date: Wed, 25 Jun 2025 10:14:42 +0800 Subject: [PATCH] libavutil: fix memory leak of drmVersion address sanitizer showed some leaks of drmVersion structs. `vaapi_device_create` did not call drmFreeVersion in all possible code paths. Signed-off-by: Tim Blechmann <tim@klingt.org> --- libavutil/hwcontext_vaapi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 95aa38d9d2..92b704891e 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1810,30 +1810,33 @@ static int vaapi_device_create(AVHWDeviceContext *ctx, const char *device, char drm_vendor[8]; if (drmGetDevice(priv->drm_fd, &device)) { av_log(ctx, AV_LOG_VERBOSE, "Failed to get DRM device info for device %d.\n", n); close(priv->drm_fd); priv->drm_fd = -1; + drmFreeVersion(info); continue; } snprintf(drm_vendor, sizeof(drm_vendor), "0x%x", device->deviceinfo.pci->vendor_id); if (strcmp(vendor_id->value, drm_vendor)) { av_log(ctx, AV_LOG_VERBOSE, "Ignoring device %d " "with non-matching vendor id (%s).\n", n, vendor_id->value); drmFreeDevice(&device); close(priv->drm_fd); priv->drm_fd = -1; + drmFreeVersion(info); continue; } av_log(ctx, AV_LOG_VERBOSE, "Trying to use " "DRM render node for device %d, " "with matching vendor id (%s).\n", n, vendor_id->value); drmFreeDevice(&device); + drmFreeVersion(info); break; } drmFreeVersion(info); #endif av_log(ctx, AV_LOG_VERBOSE, "Trying to use " "DRM render node for device %d.\n", n); -- 2.48.1 [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-29 2:09 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-06-25 2:26 [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion Tim Blechmann via ffmpeg-devel 2025-06-27 21:47 ` Michael Niedermayer 2025-06-29 2:08 ` Tim Blechmann via ffmpeg-devel
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git