From patchwork Sun Apr 4 15:36:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 26737 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 56CC044B6C8 for ; Sun, 4 Apr 2021 18:44:15 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 38654687F1A; Sun, 4 Apr 2021 18:44:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 707CA6807B5 for ; Sun, 4 Apr 2021 18:44:09 +0300 (EEST) Received: by mail-qt1-f178.google.com with SMTP id c6so6967625qtc.1 for ; Sun, 04 Apr 2021 08:44:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yUz76R7DAX0fsaxPNrgBcmhywihWz+pJR1FZj9nYjZo=; b=C1H+VkxXD3M22XNHw4qKLc9TcByDph+kXhOjsAxE6Ol8k3jzYDWxpmcOiCE96l0BSe mNoED7jwvr+uGpa1umFtzlXLA6BVcus8eEG+gaGWP65DqaA+t3LiQKjrLpAd2G/Mxdmj KrQUHoAG0cL9TcyUIQLsOU1RNdXnAcxNgHxI0M4gYmbXHLiVRaCuzLudDg9a6Qploz7r n4Vf4OKswkbEs7ehmI5V/4gCpxwGIRSsuWdwCe+iODpnl7FfXTpcoTUK6+EVS/488cyV hPD9CSCgpedTeWyguZCjbF83t2x5aoigOIg3AvQRk3myVEHAAqVKF468t17YdFfUlNCQ 5XnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yUz76R7DAX0fsaxPNrgBcmhywihWz+pJR1FZj9nYjZo=; b=BLQcIPZnjd0HQwdOnT6qvuf3blHcnz9DBBT+jGwNP79SMvEFBQGPBGw0KoGmoI4kcp YTQCqn/LhW5nLxRqCASknV9m33KN50QId5qUz58E4kJoN3HVEIC3JlZ2e4ermKZzW78L OwqMdlFnMMl3ldLC+69VzsCRx8rtpPrFhnCsT7RoAzAvKdKLhoIEea3ShsAKaUnNRo+f anVgsd8Dbhxe4vucvGx4EjIR+b7UVXWXkHvPI/8ek8QLohaIR26B9l8z0XuYrQ+cU+Uz pgKpHRX0RTAC3CnQdZK+gkrm4JHjHJ2qhmhBDBIsH14q/p4yy1SBqunuQZdEAuYlrXU5 QhUQ== X-Gm-Message-State: AOAM533L1WN6XvKLFHMAXKY6fdGpiZtEsviF/AM887L9xkHc14ldd27+ YeaQXLcXv5jtCRIAPK5Hq/un23STCUk= X-Google-Smtp-Source: ABdhPJztJX5CqF/avjJD5TbW3epfR1nCHhk2x7wMPyBkQl61/kJKNx7ZDUu8yp0xxZe/JOe52mEXeQ== X-Received: by 2002:a05:622a:191:: with SMTP id s17mr6026740qtw.33.1617550618178; Sun, 04 Apr 2021 08:36:58 -0700 (PDT) Received: from localhost.localdomain (c-73-149-98-40.hsd1.ma.comcast.net. [73.149.98.40]) by smtp.gmail.com with ESMTPSA id m13sm11294372qkk.16.2021.04.04.08.36.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Apr 2021 08:36:57 -0700 (PDT) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Sun, 4 Apr 2021 11:36:43 -0400 Message-Id: <20210404153645.565251-1-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.31.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avformat/rtsp: Fix floating point exception for low min/max port range X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman Fixed by setting port offset to zero when it cannot be computed. To reproduce: $ ffmpeg -min_port 32000 -max_port 32001 -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -f null - [1] 303871 floating point exception (core dumped) Signed-off-by: Andriy Gelman --- libavformat/rtsp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 25bdf475b3..76efbf42cd 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1446,7 +1446,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, int lower_transport, const char *real_challenge) { RTSPState *rt = s->priv_data; - int rtx = 0, j, i, err, interleave = 0, port_off; + int rtx = 0, j, i, err, interleave = 0, port_off = 0; RTSPStream *rtsp_st; RTSPMessageHeader reply1, *reply = &reply1; char cmd[MAX_URL_SIZE]; @@ -1465,9 +1465,11 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, /* Choose a random starting offset within the first half of the * port range, to allow for a number of ports to try even if the offset * happens to be at the end of the random range. */ + if (rt->rtp_port_max - rt->rtp_port_min > 1) { port_off = av_get_random_seed() % ((rt->rtp_port_max - rt->rtp_port_min)/2); /* even random offset */ port_off -= port_off & 0x01; + } for (j = rt->rtp_port_min + port_off, i = 0; i < rt->nb_rtsp_streams; ++i) { char transport[MAX_URL_SIZE]; From patchwork Sun Apr 4 15:36:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 26735 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id AE15844AEEE for ; Sun, 4 Apr 2021 18:37:21 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8549A687F1A; Sun, 4 Apr 2021 18:37:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 571B2680282 for ; Sun, 4 Apr 2021 18:37:14 +0300 (EEST) Received: by mail-qt1-f180.google.com with SMTP id i19so6932416qtv.7 for ; Sun, 04 Apr 2021 08:37:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T03UFSXtz8BrsHmC/nfpLtIeU6NXA4B9avcg6wsZ9tQ=; b=F370y3QXQlFhv5WvrjsA0rkT6Y2QtUhkNCrcFcs10ZK4LvJnjRRrliEglA87wyNJIx CkOozXesvx4kDqlRdL4BidFa4VhDsMPLQIMP7lkbVc0/h5QC3q4rL9MPz2NaMBRt7397 4mTnrUtrTDjGUUkMhJOeHtOFH+6vIhUM5a+WB7RUatLpq8Ai3mXIyQ+WZ8wx6N+FHUC4 MTVhYEJW2EJvCsQpG9XbgxCVJcqeyUWI+VqNSBk28yWchBrkdi+q0znguXhupXRrimAu NGKB8wecqlGi8wNqUW+FOEKCkJIZaURCirK3IP4peg+dTTKJbd9s2RUQOXWvjYDNTTPy +ECw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=T03UFSXtz8BrsHmC/nfpLtIeU6NXA4B9avcg6wsZ9tQ=; b=caiYYi9ORqzbXw1SgjhFnJoPfceIgvEKO03LaorBPNPJlGHFq3bCMje/56ncqxp6uN irk/NNjpKHL4M09AYOTKXGQVdJ/1bzASyxzp5M0cRGjKqDY1rMeJxfczEWFSFZ35T3mU E0dqCdwmskru3yKq4iS+vlroeFFqffLpw0P7N6AICuHn9ZNxU1QmncPHKBeR9hc1wD/K BDsgA4+AC5y3rcPUQ6Ypcds0GfH94K3VCrXSSb69o7gWVFtHiF1uFz+96GG4qnacZT7f fdVYnNIA3NUvITJmKwEaAxtJNV2jB+9gAPIqwaK5REO2597SA2UvA4byxqVNwX3+zsR9 1jcA== X-Gm-Message-State: AOAM532eYYAvE7LmEHT6UvWf9BMEs6wMuE+lI3+b7wjbVrs+zdo6+M4L 1v3ifx6QiHGyYFLcma4QmmbmKqNbegc= X-Google-Smtp-Source: ABdhPJy44eI0NA1ivFVhG6zZptiLj5O8UA7Mz0PfzJ4L0FCdYFLtKffvvj2DVuiNgIRMNMTQELNW7A== X-Received: by 2002:a05:622a:114:: with SMTP id u20mr18634132qtw.317.1617550632793; Sun, 04 Apr 2021 08:37:12 -0700 (PDT) Received: from localhost.localdomain (c-73-149-98-40.hsd1.ma.comcast.net. [73.149.98.40]) by smtp.gmail.com with ESMTPSA id m13sm11294372qkk.16.2021.04.04.08.37.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Apr 2021 08:37:12 -0700 (PDT) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Sun, 4 Apr 2021 11:36:44 -0400 Message-Id: <20210404153645.565251-2-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210404153645.565251-1-andriy.gelman@gmail.com> References: <20210404153645.565251-1-andriy.gelman@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avformat/rtsp: Reindent after previous commit X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman Signed-off-by: Andriy Gelman --- libavformat/rtsp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 76efbf42cd..6438e2edb8 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1466,9 +1466,9 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, * port range, to allow for a number of ports to try even if the offset * happens to be at the end of the random range. */ if (rt->rtp_port_max - rt->rtp_port_min > 1) { - port_off = av_get_random_seed() % ((rt->rtp_port_max - rt->rtp_port_min)/2); - /* even random offset */ - port_off -= port_off & 0x01; + port_off = av_get_random_seed() % ((rt->rtp_port_max - rt->rtp_port_min)/2); + /* even random offset */ + port_off -= port_off & 0x01; } for (j = rt->rtp_port_min + port_off, i = 0; i < rt->nb_rtsp_streams; ++i) { From patchwork Sun Apr 4 15:36:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 26736 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id B189A44AEEE for ; Sun, 4 Apr 2021 18:37:23 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 959ED687FBB; Sun, 4 Apr 2021 18:37:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F4C36802C0 for ; Sun, 4 Apr 2021 18:37:16 +0300 (EEST) Received: by mail-qt1-f169.google.com with SMTP id h7so6947519qtx.3 for ; Sun, 04 Apr 2021 08:37:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ezNwH/IFZidkchMl5vIzKlofiD04/4fziBMZjKcoyN0=; b=IX8MADOWfC7Je1NGYgpHg7lQLMLf90MTZhMEfLbEVfstlQ49dkSTXIPN6+Uq7eFySE YMTKCzWpaxHpT8/mf/JAwz38bbOBmrIj5i3Tm3xZYmoQi3nx3IJI9hDSoFTD63xRewLI WDgNkjRh/3RNmv+4kR0HeR6UfxSrWdceEwTpsAEc0wCg+und5BAYSYx5E1YilKJSocfQ bWfx0Hlg/HLjwLnU+eGX0QT8RnT8kVPjK1a7Rps2cMStnuPVEx/8jQJVQTkBRdQNjh76 dmL0LovLtLh/M1Lw4N5+W3kqzuzKm1xrn5l+0myJbWQl1hqN9p9xK9FQzt+LKCPKw4Gq m+ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ezNwH/IFZidkchMl5vIzKlofiD04/4fziBMZjKcoyN0=; b=FNgI6gyBEctJ40v0D9wTxbgjh2m2FKwPJEcL296xuukJ2w00elHxojPx7uW6ktJpmA /mDEITtMkApm7O3OtFdDsJIK48ppV3g1PsPTuUZj7EpVnwRTR30hn8TMxA5slpjCEwG2 bgluSmp0NXdynf/tOWZuhay7HpDZ/+7EJPkA0zLaw291f03C2bqnQMlJrRJHAPmWaTUB FbG04Dcnv7vZHkaPg8TrJLI5rsYd/goyrm8Lv67FtgVPWDKlsXsp11aXo5kg0EQNufgc LVJWipbM21dzCatdLNdE83NrTmysQu2MTJO9fKm0txdtuk5JtgDrKlQitN4JZDPXp6H9 Onvg== X-Gm-Message-State: AOAM532bjz92LJGFbMURnPxxBIz8YthUwYlj+PrN1R80O0ZIaIc/Uvib ccqvbwoQyiq9vkajbUMZeyBseIr33YI= X-Google-Smtp-Source: ABdhPJx6xCty4aXD7SN048/P3UArXvMvrC/SUmeJXLhCc/+0GkvLk8AUMu+H+c9F1+xwy7rDQoxCMw== X-Received: by 2002:a05:622a:1052:: with SMTP id f18mr2519051qte.232.1617550634999; Sun, 04 Apr 2021 08:37:14 -0700 (PDT) Received: from localhost.localdomain (c-73-149-98-40.hsd1.ma.comcast.net. [73.149.98.40]) by smtp.gmail.com with ESMTPSA id m13sm11294372qkk.16.2021.04.04.08.37.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Apr 2021 08:37:14 -0700 (PDT) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Sun, 4 Apr 2021 11:36:45 -0400 Message-Id: <20210404153645.565251-3-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210404153645.565251-1-andriy.gelman@gmail.com> References: <20210404153645.565251-1-andriy.gelman@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avformat/rtsp: Include rtcp in port range check X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman Currently it is only checked that the rtp port does not exceed rtp_port_max. --- libavformat/rtsp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 6438e2edb8..e6a068148b 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1508,7 +1508,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, } /* first try in specified port range */ - while (j <= rt->rtp_port_max) { + while (j + 1 <= rt->rtp_port_max) { AVDictionary *opts = map_to_opts(rt); ff_url_join(buf, sizeof(buf), "rtp", NULL, host, -1,