From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 36C664A317 for ; Mon, 29 Apr 2024 12:00:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B10AF68D4B5; Mon, 29 Apr 2024 15:00:17 +0300 (EEST) Received: from mail.int.uplex.de (mail.int.uplex.de [212.12.63.125]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4D12D68D363 for ; Mon, 29 Apr 2024 15:00:11 +0300 (EEST) Received: from [192.168.64.53] (pd95c61a4.dip0.t-ipconnect.de [217.92.97.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "Lohndirekt GmbH", Issuer "secure-email-gateway" (not verified)) by mail.int.uplex.de (Postfix) with ESMTPSA id A7D81157A8; Mon, 29 Apr 2024 12:00:10 +0000 (UTC) (envelope-from nils.goroll@uplex.de) Message-ID: <68592f88-f5ca-4626-a1dc-e40d6f6cedf8@uplex.de> Date: Mon, 29 Apr 2024 13:59:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Nils Goroll To: ffmpeg-devel@ffmpeg.org Content-Language: en-US Autocrypt: addr=nils.goroll@uplex.de; keydata= xsBNBFTkmtUBCACfZ2NHr0vBQ7pADCfNjpt+tfffUYqc1C7GRTdrKqsTfH3y2KmDuCL0p5M0 w2Q5Qrku5cs954lDzhzAIz1MI2ddhG17PsMhnzi3JcPFVMSZcmXlb3JEDnXJfIlV+lh/2Ddd /Tm6AM9l1zI03aAGLf7GVVwokBeavviW/PvpIOa0Zh4ccU6nh6uMmiNLyX7i26fsCe7YSB3d r4rLnpN2iW7PIh+RDkt9lyvXbqy0/T0LwPZOEevV2oWUBEv6owiisqmVqYJ9N+DC1vUCqC/F 7X9NnIl7L8JwIrxhnw8j39NqGmMG+hZTy27ZyVEi/j0Drct8BQyWFby2vH33dZL5gVWzABEB AAHNIk5pbHMgR29yb2xsIDxuaWxzLmdvcm9sbEB1cGxleC5kZT7CwJgEEwEKAEICGyMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheAAhkBFiEEicdlqw+9Qa90PBmNHc2PV6OGi9cFAmRQ2eUF CRUP2ZAACgkQHc2PV6OGi9d9MAf+JcwxKEfyhhlOP0bZPV0lvpGQcBFWJQF2pcVRS1a7QA3j 6yn0kv1fkNxILlbUVPC2+1ZxA0UrcQ2zl0MjSWU4m7ayApG1ZL5tAh4rYpbGPK7D1ZNU2LW0 I22XUQVZBYFXZ6jzutpUhPkVUDkQz1CC0l3jPHaot5xJjEUD7CZWrjBd6cIvFLBxkIcQ/6uo /06T8pUWQVnQARgcKJK7oKRbGeP6lN7NobrmIkQw8g7uAzzQpdWWhkSm7cmzpZj8gTefMMui ZgSLFsTDlwM7IBgPav9AjwATzv0myRwj/oEsJZakL5bjVUSIY7wJlbWUXz1rq8W26S3LOf+6 zeV5rPdGS87ATQRU5JrVAQgA1YeK0HOwhI+Ex2TGnoE9+xY/9CDuvqLd1r0ymFOKwi92NCe3 8WbYFpWlkt3nUmj46BQXZ3RtXp03Wx4XChXZkjsghAHUoIKkeHHSofA7TIIpb1yM9OdG2g97 UuRs8qVYyZukLg3Mw8HUWO227gqLRGxO8sRq0b3za4kgOd2ZWJNrq1Yt/adrWiVF/mCIYQO6 z1P/oS4T8x4JXyRAWgKf82lSoUAYwxk1ojmYb3SM6Pyh1n6g2/f8xwbrHbwLQSBCh2nJAp4z w7W0jmXmS6CqOmu8L37UvQst69EAA1G9BImJsUNJahdx+/XT8EOQMgVapfSllp91GM2KSNAn gHEXZQARAQABwsB8BBgBCgAmAhsMFiEEicdlqw+9Qa90PBmNHc2PV6OGi9cFAmRQ2a8FCRUP 2VoACgkQHc2PV6OGi9cGhwf7BD8xNq62KnorPKHMNDc1kRyWZgctvaWds5YAi3hTGYvhWVpI 8ymEUthm73qPu4AX4kZ2EhsydxRjnqJeNsGosqKWdksCkm0vwYidIC5aHTMnkSqQJeTjLxkF wb7L1kVvixEqT/0VsCuSmGzSpL0ExKdu3+o9OAgPJ+P6lDwdVhVbojTfXtQoVxhBjairvBmh X/HxMST/ot2X7+QsO5xbXT5MCCHkhGr5DzKd1HoDD1SfF+wdEzzjhKxiBk9Z4Amsz+/OVhmO eT8wyazi/PdajrYi+s+2JnhBRhV0tFRJ+n3MQlE1d3Trd5/Bis41aabJaq6E9RX5XrL3f2LV qfJHBQ== Subject: [FFmpeg-devel] [PATCH] avformat/file: fail for non-numerical arguments to pipe: X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Before this patch, the implementation of pipe: inputs/outputs would silently fall back to stdin/stdout for any argument not successfully parsed by strtol(). This patch introduces an explicit error for any non-numerical arguments, which should avoid user confusion as in #10977. New behavior: $ cat /tmp/video.mkv | ./ffmpeg -i pipe:aa -acodec copy -vcodec copy -f matroska pipe:1 | cat >/tmp/out.mkv [pipe @ 0x5618c7bcf740] Non-numerical argument "aa" to pipe: [in#0 @ 0x5618c7bced00] Error opening input: Invalid argument Error opening input file pipe:aa. Error opening input files: Invalid argument Signed-off-by: Nils Goroll --- libavformat/file.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libavformat/file.c b/libavformat/file.c index 0b7452bc20..317a769e32 100644 --- a/libavformat/file.c +++ b/libavformat/file.c @@ -437,18 +437,21 @@ static int pipe_open(URLContext *h, const char *filename, int flags) { FileContext *c = h->priv_data; int fd; - char *final; + char *final = NULL; if (c->fd < 0) { av_strstart(filename, "pipe:", &filename); - fd = strtol(filename, &final, 10); - if((filename == final) || *final ) {/* No digits found, or something like 10ab */ - if (flags & AVIO_FLAG_WRITE) { - fd = 1; - } else { - fd = 0; - } + if (*filename == '\0') + fd = (flags & AVIO_FLAG_WRITE) ? 1 : 0; + else + fd = strtol(filename, &final, 10); + + if (final != NULL && *final != '\0') { + av_log(h, AV_LOG_ERROR, + "Non-numerical argument \"%s\" to pipe:\n", + filename); + return AVERROR(EINVAL); } c->fd = fd; } -- 2.39.2 _______________________________________________ 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".