From patchwork Sat Jul 18 00:06:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21150 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 B663144BDE1 for ; Sat, 18 Jul 2020 03:14:18 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8FED468B684; Sat, 18 Jul 2020 03:14:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f68.google.com (mail-ej1-f68.google.com [209.85.218.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 639A268B622 for ; Sat, 18 Jul 2020 03:14:12 +0300 (EEST) Received: by mail-ej1-f68.google.com with SMTP id y10so12690477eje.1 for ; Fri, 17 Jul 2020 17:14:12 -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=XfJJYiZjlBS8AHvTyrXObMeZScQ/PquMl7VzCfosGfk=; b=G2FT+pgRNxxg8/WOezqH7bNOVARju7fir4jfrbNU8q41gq2lyvOaOp+gHO7/xgQPzT U8PxprpgPDgbtGFZCNPyQ1llNTraQPx+3meXVEDUJ8Y4dW6Y7R2mevzE+2SnArinhO/d Q1H2U/v5vaBlOygw9+Fm51IEqfCKV3xUVoa/BGaWvzDlfEMN5eZTsARX3Mzy3BiwbwoA q8yC7XyE8FKq38O4+UF3HmXiAS5RBPuMYEJj/gC7qXTO8vmVqvdb+h1f4qlZagA8aWqp +3WfdM2j9kY7nLiH0r8rn+K71iAf8yMGNgx1beJKUurnP0VFP2BMsIRKtLBs7fWfreOl uVfg== 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=XfJJYiZjlBS8AHvTyrXObMeZScQ/PquMl7VzCfosGfk=; b=Y4oUCCNqhJ55ZiUtAsYs+KucsNWD8gzsPFysggLa/7XIPRtWjrdorXD7Qp0i0bEWIL s/k0zV3o3NnIz3gM9tDpMmJTsGFl41EuByOOHK4uP/4AeSBiXLMVbEx3z00Gnw5iCfYm t2zBQFBxeY9kuII6nrEnyFbGPtBJ26l1NyWaN7SBwG/l7XExOZc8p7CCOD/VuGOFVwfF PICJZ6+T6v7IEJ/6Wl577UkeAyCu/eIX3etQPg/wy6GRGS904Mp8AW6rT1OeMN1CwF4t xUdLEpYvtKi1BCxB9YgOoQAzTnFpghwTSxa9nVGbMpFx0fwx5Dz0VTOfdsMN/MaoeVwl 0VMw== X-Gm-Message-State: AOAM533Il6szSkwKaK28nF/6nzdUFHFlGLle8PNA2TCPebo8Dmdnf7VQ kjYMt/OdJQ+guhpxyVMD5f6/9Iox X-Google-Smtp-Source: ABdhPJzFafaNQ41yCFyxQA/rwquFqdCkd4pMvKRLyI913DYVPfDrrbb0pWOPw0ydfHMiyf8Eetx5Mg== X-Received: by 2002:a17:906:d143:: with SMTP id br3mr10741245ejb.268.1595030811628; Fri, 17 Jul 2020 17:06:51 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc10296.dynamic.kabel-deutschland.de. [188.193.2.150]) by smtp.gmail.com with ESMTPSA id ay27sm9660534edb.81.2020.07.17.17.06.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2020 17:06:50 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 18 Jul 2020 02:06:26 +0200 Message-Id: <20200718000636.2167-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/11] avformat/webmdashenc: Fix segfault when no filename is given when live 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" by checking a bit earlier. Signed-off-by: Andreas Rheinhardt --- libavformat/webmdashenc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavformat/webmdashenc.c b/libavformat/webmdashenc.c index eb286cab99..3eefd6df8b 100644 --- a/libavformat/webmdashenc.c +++ b/libavformat/webmdashenc.c @@ -171,8 +171,7 @@ static int write_representation(AVFormatContext *s, AVStream *stream, char *id, AVDictionaryEntry *filename = av_dict_get(stream->metadata, FILENAME, NULL, 0); AVDictionaryEntry *bandwidth = av_dict_get(stream->metadata, BANDWIDTH, NULL, 0); const char *bandwidth_str; - if ((w->is_live && (!filename)) || - (!w->is_live && (!irange || !cues_start || !cues_end || !filename || !bandwidth))) { + if (!w->is_live && (!irange || !cues_start || !cues_end || !filename || !bandwidth)) { return AVERROR_INVALIDDATA; } avio_printf(s->pb, "streams[as->streams[0]]->metadata, FILENAME, NULL, 0); char *initialization_pattern = NULL; char *media_pattern = NULL; - int ret = parse_filename(filename->value, NULL, &initialization_pattern, + int ret; + if (!filename) + return AVERROR(EINVAL); + ret = parse_filename(filename->value, NULL, &initialization_pattern, &media_pattern); if (ret) return ret; avio_printf(s->pb, "\n",