Re: [FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion

2025-06-28 Thread Tim Blechmann via ffmpeg-devel
--- Begin Message ---

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 
To: [email protected]
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 
---
  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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".
From c644493085ae69e659baebf687960b7bf6c3723c Mon Sep 17 00:00:00 2001
From: Tim Blechmann 
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 
---
 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

--- End Message ---
___
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".


[FFmpeg-devel] [PATCH] libavutil: fix memory leak of drmVersion

2025-06-24 Thread Tim Blechmann via ffmpeg-devel
--- Begin Message ---

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

--- End Message ---
___
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".