From patchwork Thu Apr 14 21:08:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 35319 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp957905pzh; Thu, 14 Apr 2022 14:08:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxePRvK2BhuPn0Sugb0zmf0wrDPQC3cPkcgQiYyjxm98364CM9Vn0ET3wKTpT39gQpTFKw X-Received: by 2002:aa7:dacd:0:b0:41d:75df:62f with SMTP id x13-20020aa7dacd000000b0041d75df062fmr4968655eds.256.1649970537588; Thu, 14 Apr 2022 14:08:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649970537; cv=none; d=google.com; s=arc-20160816; b=xC9Czrweuf5g9cD33q3FXt43YgLCEYskqA6ZftPs2sHDJR2WGCea03csANQkqZ9UGZ S2odAZCRzSFYklBMrFLa/6qozwJxeffYLp80TcNWYsrSlsScVzg2mOfwpNtWv4RyAWoP fBsxloaENjhBXqXMCTuY0BOugurnTfnZyTRq5OcVCdG3tONVvnJdWnI2ddgS5yD6VkCS liMpvRDGurF7aUHgPWz+7zar2w/b+Jw6y2iJp0ii7NbkHND5CyiEmag1xRXhxD0nfvQk K2sXytwkMaQ6x03hB/9dDNGtSSKEvyg5Otdo8ZVTB8LuaeV96lF8Ags3i+HCSZtr8DzH ohLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=NTiainh8ue+44jEIXtTVL80hCdS9g2oUk/lBDbdc5Ks=; b=YU1N3mrTnyxeVcDdYcK5RbtNDglh4DeOs73ssQBzGoTORNTDFP9LrepqYnfm6Zm77u OJNtbKnkhhstpPeOPeu7l26aREXgWeaWSzwpNgHfy3xo2nWyslebI9Y7CXcul4KVZfLy /g9yXm+lbIJs0bl7UNC7NL0w48FzgxLcJSVgTZnZAkEPKMPwMwiKxJRYzMZkj3+s2AaV sqE0cTMFctbRoofa/AaIYkWxTulz5ex+Yx6Qj76S+M9xycoEHGkDYe1WPecdO+T/MAZ7 5dzgYuSom8/ZWO5QtnkT9kIGaXiSRyrL4QbuvKXAWmd7ssYhDTU6fD05+mczZ5BGCc00 N75Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dm1-20020a05640222c100b0041901f9db85si4147931edb.368.2022.04.14.14.08.56; Thu, 14 Apr 2022 14:08:57 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4F9A368B49E; Fri, 15 Apr 2022 00:08:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8248468B446 for ; Fri, 15 Apr 2022 00:08:46 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 71BF8E6E2E; Thu, 14 Apr 2022 23:08:46 +0200 (CEST) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hhdqrv4HEq4n; Thu, 14 Apr 2022 23:08:44 +0200 (CEST) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 64001E6B04; Thu, 14 Apr 2022 23:08:44 +0200 (CEST) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Apr 2022 23:08:37 +0200 Message-Id: <20220414210837.28916-1-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/rtmpproto: send proper status for response to play command 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 Cc: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 9R+/DxRV/A9f This fixes referencing the uninitialized filename variable. Fixes ticket #9711. Signed-off-by: Marton Balint --- libavformat/rtmpproto.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index f97e3c3b8e..f0ef223f05 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -1857,11 +1857,10 @@ static int write_begin(URLContext *s) } static int write_status(URLContext *s, RTMPPacket *pkt, - const char *status, const char *filename) + const char *status, const char *description, const char *details) { RTMPContext *rt = s->priv_data; RTMPPacket spkt = { 0 }; - char statusmsg[128]; uint8_t *pp; int ret; @@ -1884,11 +1883,11 @@ static int write_status(URLContext *s, RTMPPacket *pkt, ff_amf_write_field_name(&pp, "code"); ff_amf_write_string(&pp, status); ff_amf_write_field_name(&pp, "description"); - snprintf(statusmsg, sizeof(statusmsg), - "%s is now published", filename); - ff_amf_write_string(&pp, statusmsg); - ff_amf_write_field_name(&pp, "details"); - ff_amf_write_string(&pp, filename); + ff_amf_write_string(&pp, description); + if (details) { + ff_amf_write_field_name(&pp, "details"); + ff_amf_write_string(&pp, details); + } ff_amf_write_object_end(&pp); spkt.size = pp - spkt.data; @@ -1964,20 +1963,22 @@ static int send_invoke_response(URLContext *s, RTMPPacket *pkt) pp = spkt.data; ff_amf_write_string(&pp, "onFCPublish"); } else if (!strcmp(command, "publish")) { + char statusmsg[128]; + snprintf(statusmsg, sizeof(statusmsg), "%s is now published", filename); ret = write_begin(s); if (ret < 0) return ret; // Send onStatus(NetStream.Publish.Start) return write_status(s, pkt, "NetStream.Publish.Start", - filename); + statusmsg, filename); } else if (!strcmp(command, "play")) { ret = write_begin(s); if (ret < 0) return ret; rt->state = STATE_SENDING; return write_status(s, pkt, "NetStream.Play.Start", - filename); + "playing stream", NULL); } else { if ((ret = ff_rtmp_packet_create(&spkt, RTMP_SYSTEM_CHANNEL, RTMP_PT_INVOKE, 0,