[FFmpeg-devel] [PATCH] avdevice/gdigrab: Memory leak if BitBlt return false.
dont.buck at gmail.com
dont.buck at gmail.com
Fri Oct 23 11:43:58 EEST 2020
> dont.buck at gmail.com:
> > From: walle <dont.buck at gmail.com>
> >
> > lock screen or other permission notification in win7 or
> > higher windows version would case BitBlt return false,
> > and gdigrab_read_packet will return AVERROR(EIO) and do nothing to
> > allocated packet data, then memory leak happend. It's necessary to
> > release packet data before return from gdigrab_read_packet.
> > ---
> > libavdevice/gdigrab.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c
> > index f4444406fa..b69494c98d 100644
> > --- a/libavdevice/gdigrab.c
> > +++ b/libavdevice/gdigrab.c
> > @@ -576,6 +576,7 @@ static int gdigrab_read_packet(AVFormatContext *s1, AVPacket *pkt)
> > clip_rect.bottom - clip_rect.top,
> > source_hdc,
> > clip_rect.left, clip_rect.top, SRCCOPY | CAPTUREBLT)) {
> > + av_packet_unref(pkt);
> > WIN32_API_ERROR("Failed to capture image");
> > return AVERROR(EIO);
> > }
> >
> What version did you use when encountering this leak? This leak should
> have been fixed in bae8844e35147f92e612a9e0b44e939a293e5bc9.
Your reply is really useful, thanks, I'm using the old 3.4.7 version. And would you please tell me how to reply the email with "> " ahead of each line, I'm using an email client and have to add them manually.
dont.buck at gmail.com
From: Andreas Rheinhardt
Date: 2020-10-22 21:52
To: ffmpeg-devel
Subject: Re: [FFmpeg-devel] [PATCH] avdevice/gdigrab: Memory leak if BitBlt return false.
dont.buck at gmail.com:
> From: walle <dont.buck at gmail.com>
>
> lock screen or other permission notification in win7 or
> higher windows version would case BitBlt return false,
> and gdigrab_read_packet will return AVERROR(EIO) and do nothing to
> allocated packet data, then memory leak happend. It's necessary to
> release packet data before return from gdigrab_read_packet.
> ---
> libavdevice/gdigrab.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c
> index f4444406fa..b69494c98d 100644
> --- a/libavdevice/gdigrab.c
> +++ b/libavdevice/gdigrab.c
> @@ -576,6 +576,7 @@ static int gdigrab_read_packet(AVFormatContext *s1, AVPacket *pkt)
> clip_rect.bottom - clip_rect.top,
> source_hdc,
> clip_rect.left, clip_rect.top, SRCCOPY | CAPTUREBLT)) {
> + av_packet_unref(pkt);
> WIN32_API_ERROR("Failed to capture image");
> return AVERROR(EIO);
> }
>
What version did you use when encountering this leak? This leak should
have been fixed in bae8844e35147f92e612a9e0b44e939a293e5bc9.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list