From: Cai Eaphone <cyfdel-at-hotmail.com@ffmpeg.org>
To: "ffmpeg-devel@ffmpeg.org" <ffmpeg-devel@ffmpeg.org>
Subject: [FFmpeg-devel] 回复: [PATCH v1] libavdevice/gdigrab: change hwnd tail check fail logic to !=null
Date: Wed, 7 Aug 2024 16:57:17 +0000
Message-ID: <TYAPR01MB32773086048477B9D134C090DEB82@TYAPR01MB3277.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <TYAPR01MB32771EAB1466CFBF9B3698D9DEB82@TYAPR01MB3277.jpnprd01.prod.outlook.com>
this message seems not attach to the mail successfully, manually loop it:
what the patch does:
fix gdigrab capture a window with hwnd shows "Invalid window
handle x, must be a vlid integer", althought a valid integer is
input
why:
line 284 of libavdevice/gdigrab.c, one of the condition leads to
check failed is p[0]='\0'. if a integer only string is process,
the p[0] after strtoull process will be null which equal to
'\0', otherwise, a non-integer string will make p[0] not null to
pass the check
how:
change p[0]=='\0' to p[0]!='\0' will works. no any side effect
reproduce and verify:
a simple command: ffmpeg -f gdigrab -i hwnd=12345
* althought a workaround command will work currently:
* ffmpeg -f gdigrab -i hwnd=12345x. (x could be any char)
________________________________
发件人: cyfdel@hotmail.com <cyfdel@hotmail.com>
发送时间: 2024年8月7日 15:58
收件人: ffmpeg-devel@ffmpeg.org <ffmpeg-devel@ffmpeg.org>
抄送: eaphone <cyfdel@hotmail.com>
主题: [PATCH v1] libavdevice/gdigrab: change hwnd tail check fail logic to !=null
From: eaphone <cyfdel@hotmail.com>
---
libavdevice/gdigrab.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c
index c91661c556..08a41c304b 100644
--- a/libavdevice/gdigrab.c
+++ b/libavdevice/gdigrab.c
@@ -281,7 +281,7 @@ gdigrab_read_header(AVFormatContext *s1)
hwnd = (HWND) strtoull(name, &p, 0);
- if (p == NULL || p == name || p[0] == '\0')
+ if (p == NULL || p == name || p[0] != '\0')
{
av_log(s1, AV_LOG_ERROR,
"Invalid window handle '%s', must be a valid integer.\n", name);
--
2.45.2.windows.1
_______________________________________________
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".
next prev parent reply other threads:[~2024-08-07 16:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20240807155816.1412-1-cyfdel@hotmail.com>
2024-08-07 15:58 ` [FFmpeg-devel] " cyfdel-at-hotmail.com
2024-08-07 16:57 ` Cai Eaphone [this message]
2024-08-08 15:46 ` Zhao Zhili
2024-08-15 12:12 ` Zhao Zhili
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=TYAPR01MB32773086048477B9D134C090DEB82@TYAPR01MB3277.jpnprd01.prod.outlook.com \
--to=cyfdel-at-hotmail.com@ffmpeg.org \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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