[FFmpeg-devel] [PATCH] avdevice/gdigrab: Memory leak if BitBlt return false.
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Sat Oct 24 09:13:38 EEST 2020
dont.buck at gmail.com:
>> 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.
>
>
If your email client doesn't add them when you just reply to a mail,
then it seems that your email client is either misconfigured or shit. I
can't help you with that as I have never used Foxmail. It's also not
really something for this mailing list.
- Andreas
More information about the ffmpeg-devel
mailing list