From patchwork Fri Aug 14 20:35:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21671 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 07223449905 for ; Fri, 14 Aug 2020 23:35:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D54FA68B5FC; Fri, 14 Aug 2020 23:35:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f67.google.com (mail-ej1-f67.google.com [209.85.218.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4FA8768A8C7 for ; Fri, 14 Aug 2020 23:35:31 +0300 (EEST) Received: by mail-ej1-f67.google.com with SMTP id o23so11265154ejr.1 for ; Fri, 14 Aug 2020 13:35:31 -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=2vbWcoPsbW2G/U3fZeIEQv5GY9EVOWanYtek+gRFUf8=; b=BQcJqj+53YuPwkP/MWT/73nQqMjXaUyIilEtCFPIvMo/3tUNfutiZo9Y9Y9k49OTI7 IfhnWd6HBP+0MEtPSVN2AarMnZXkuNe+5JsPf5ZOOvcfPbdCFNjplRrXtiJJaMp6iz6/ O3gVdeijW1fwVRgvFSTrwcqOi/FY3aanLHwNJc4eMeoLFVStxj32cknrz9GC6ve6NmlL 3SX6Q/sWeMqjXj05Ml2gLE895dwUTTrJsmApLzpMRA8Qc/kSV2AuKZ7RlGNHdupOzHiR AIXD0KrLztXnsXTMN2+g03ZZJdsmDHJHtnAaI5UcL2nPsr6UJvvvItwCjJS5a4kkDuQn QK3Q== 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=2vbWcoPsbW2G/U3fZeIEQv5GY9EVOWanYtek+gRFUf8=; b=tl085b0IWqlQrQ+q61IMfzfFhOVulHOWjao6FsM2wylYf4DXBnoptntfTE0udzL42v NyNoAPkoK+efSwV0HaQhME33mcx4b9k0tqhOUiAZ5wMXwyV+UUJDQbDL+aT60lya0y3s 1/P6KGAbC+JBdC5LUNboJAY31fUDALj2WnbGRrWGyrEa+9hQ9wBW8OJps4SDyggB8uwu AzUi9FEdrPDiyu6+bgeFs9uQyLnqPiuoaIWDWl79sfRlf0GxYUUIEvfNd9njmn071oeD 6AUeVkMxtZMIjFwixt3ZyrBAg4GOfPG4V9JyuMi764wYzJuZWRwXXBQ8bEnmXSCvpTr3 gDNg== X-Gm-Message-State: AOAM530b0VyCphom4dVkMeV17lfC/Ra/3ija+E0Qgfd3fqbultBtSXpp TUMzPHs4A0+4guaHrAoSRfGfq+feTM8= X-Google-Smtp-Source: ABdhPJwNHr0koQq9Z4PARKU+HHbmpsSCzHNL/q/Jj4KOwC9BU8FKeDpnC9c8dCYw8yl8OB0YlS/yiw== X-Received: by 2002:a17:906:9592:: with SMTP id r18mr3984766ejx.464.1597437330329; Fri, 14 Aug 2020 13:35:30 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id dr21sm7959656ejc.112.2020.08.14.13.35.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2020 13:35:29 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Aug 2020 22:35:21 +0200 Message-Id: <20200814203521.29103-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/hls: Fix memleak when url is empty 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" Fixes Coverity ID 1465888. Signed-off-by: Andreas Rheinhardt --- Why does this code actually not check the return value of ff_make_absolute_url()? libavformat/hls.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 84f0a5f323..4a3e0d6842 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -311,8 +311,10 @@ static struct playlist *new_playlist(HLSContext *c, const char *url, return NULL; reset_packet(&pls->pkt); ff_make_absolute_url(pls->url, sizeof(pls->url), base, url); - if (!pls->url[0]) + if (!pls->url[0]) { + av_free(pls); return NULL; + } pls->seek_timestamp = AV_NOPTS_VALUE; pls->is_id3_timestamped = -1; From patchwork Fri Aug 14 21:20:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21672 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 28A1244A87C for ; Sat, 15 Aug 2020 00:20:46 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E78C668B5E3; Sat, 15 Aug 2020 00:20:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f68.google.com (mail-ed1-f68.google.com [209.85.208.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C2DC68A8F3 for ; Sat, 15 Aug 2020 00:20:39 +0300 (EEST) Received: by mail-ed1-f68.google.com with SMTP id v22so7857082edy.0 for ; Fri, 14 Aug 2020 14:20:39 -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=Kf0dbNbL2/20nYlup5UQpNefGIolujzfNBdGvOq3rE4=; b=mNUzl2xaBGVjJBGwnWqf8xpKmj/FvtXH3hPPRG1SZ5Nva9bTR6gJSvibLMqscw4DMZ ABf8oI6sbPJIc/AVTw4h3J6N/1vpT3QVEvcYL2u5imOPiSNcPH0wzlYFSVX+CcTZuOrE 2L/3BXoqpiJ3itq/hmCEzKFNOS+JEjGUbQhjb7Ym3wgB7MrZ2YbU707oAwjfUyUKqmtZ oUu82siJW4vNVSzwtisgP992ye4L9lCQamoVBr5Py/OLUCuGA7Dh/eOUXcOIx51c66A/ KOoPJGnCzS16w4r+6xgRjJKOL04NHglQDdcVehTYx2gSmuVZmwr6kQcgkl151QG1UakC R+pQ== 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=Kf0dbNbL2/20nYlup5UQpNefGIolujzfNBdGvOq3rE4=; b=RyeWvMVVgpDC1XilDowWW3G55Zo6Cmo3onW3rdbbNPuCSh3B5uPug93Za6HKh56eWB 9d0dcloNxRTb4oyD4rnpaoOMMI03U3GiHaobp6kFFoSjRZ9H0sJU3Kfk3bgo4NqmMoeJ VFMmQ068oskHdVisQdxlOdsTcjVxIN/c8PH3BWCLgGhQ6yP6gZKge7k4yhA7nMXuzygp xdTnHZ5k5XA8lVjWftweJ2yswrgCHVV2p/GHrh5yTAqDax3k5bv/8z8GzqqfXeS+0MOl cr4IwwvEOqJH5C6mOsNcpwR6Uz8qrH0oLCLu+EzNdPoXAKDWyRbBHZmwUu7wF15srP4z C3Jw== X-Gm-Message-State: AOAM530gouGuHJxozBinD0AHVZgVmn1hzrit5aPyvosX43XVeUn5wIRB xs3j4G54/aSYrGqNY/fnJzFxcb3VNTs= X-Google-Smtp-Source: ABdhPJxuSAS/bd44uwsPMlqqLhPRKbUwBUoCwUBrJNneGs/pXbpiA4hyvkk79n/cqpYJ92K7hDjJqQ== X-Received: by 2002:a50:ba84:: with SMTP id x4mr4383199ede.282.1597440038623; Fri, 14 Aug 2020 14:20:38 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id u4sm6861808edy.18.2020.08.14.14.20.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2020 14:20:38 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Aug 2020 23:20:28 +0200 Message-Id: <20200814212029.22861-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200814203521.29103-1-andreas.rheinhardt@gmail.com> References: <20200814203521.29103-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avformat/hls: Remove redundant resetting of AVPacket 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" av_read_frame() already returns blank packets on error. Signed-off-by: Andreas Rheinhardt --- libavformat/hls.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 4a3e0d6842..8217c5ede4 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -2162,7 +2162,6 @@ static int hls_read_packet(AVFormatContext *s, AVPacket *pkt) if (ret < 0) { if (!avio_feof(&pls->pb) && ret != AVERROR_EOF) return ret; - reset_packet(&pls->pkt); break; } else { /* stream_index check prevents matching picture attachments etc. */ From patchwork Fri Aug 14 21:20:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21673 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 8F47844A87C for ; Sat, 15 Aug 2020 00:20:49 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 74F1368B604; Sat, 15 Aug 2020 00:20:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f66.google.com (mail-ej1-f66.google.com [209.85.218.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DFAFC680A18 for ; Sat, 15 Aug 2020 00:20:42 +0300 (EEST) Received: by mail-ej1-f66.google.com with SMTP id o18so11342867eje.7 for ; Fri, 14 Aug 2020 14:20:42 -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=Gaqc4JLZ1UPSaqeKewS3JAEkkewK78fWPj9UBJrZ+tU=; b=Lt0HPsx17VB2CHs+n+kzcZH5XvEiyb7OAupYjbl2Os0qPtRXybvDwBzS6hWbUsj8Xr TRRp32B6hCUkrtHTsG2fZ52tQnR2JpecI7Bz5l7nHPVkJPbHh3S/pDTFPDm9sUrzLLc3 llwz34ObicfX2s5GrBMOm1UypPjZDUd+2iq+o868JY7rWEnLpWzvqweuRXGQaGBlTfD0 txiWMEs2jlj75AvfLBqn82/oHOUZxR4Adluj/qhueGXeORNalIWthvKxkpREFEqk19gq GyevE+T43eun1LfpcVRrzvRXCBPih8cQRkIQTVYl7bncRiAGOWQeiqhvaJ7CUCgXuQSq NQYQ== 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=Gaqc4JLZ1UPSaqeKewS3JAEkkewK78fWPj9UBJrZ+tU=; b=fv9bye5YtFaGigC1mq1K1Y+D2eS0ogQNRnwiA48R78NpNSQHVt0DdgcvemqTpqn2rX bb4mgyrCYAugVYgk5Kfs4ngCKb3VdfvDkW5NLrCGA3w2IdW+FRKLAj2GZAaNBPNRJw/5 ZGfzFMT5jcodWIDfC8Y46DgK6rKEh0vgUk3UOm/4igwanbr7JkH2mCAL9C7WdSW3oD+I +ACSW1kG3L0ZRHBhX9Tkx71GLiUNkAQFbTloDtH40lpR+0ShtSdLxN1FjGK81kfezWfa DdxrCNA9XigQVQwFz0BOXsdqV1yM40wlXSIk2DLR+aNibsSWDkWTHx396ODHVNzEnEze J7Cw== X-Gm-Message-State: AOAM530bD5099qkoZ4ezU23/SCzc++iOuRpjvBcQPPkR/qbzDwFPqEfx ii/yuZiodf6fznK1ozpOOg9aZjKKrIk= X-Google-Smtp-Source: ABdhPJzI82I9kagT13XdUtS+qKu4n17O37NT1zGxpeGxoC4SdzqeSB5jq4hb7H8QEaXYv/B3TVNCgg== X-Received: by 2002:a17:906:60d5:: with SMTP id f21mr4258070ejk.94.1597440041844; Fri, 14 Aug 2020 14:20:41 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id u4sm6861808edy.18.2020.08.14.14.20.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2020 14:20:41 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Aug 2020 23:20:29 +0200 Message-Id: <20200814212029.22861-2-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200814203521.29103-1-andreas.rheinhardt@gmail.com> References: <20200814203521.29103-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avformat/hls: Use av_init_pkt() directly 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" and remove reset_packet(). The packet's data pointer is already zeroed, so the only thing that reset_packet() does that av_init_pkt() doesn't is redundant. Signed-off-by: Andreas Rheinhardt --- libavformat/hls.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 8217c5ede4..3ab07f1b3f 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -293,28 +293,18 @@ static void free_rendition_list(HLSContext *c) c->n_renditions = 0; } -/* - * Used to reset a statically allocated AVPacket to a clean state, - * containing no data. - */ -static void reset_packet(AVPacket *pkt) -{ - av_init_packet(pkt); - pkt->data = NULL; -} - static struct playlist *new_playlist(HLSContext *c, const char *url, const char *base) { struct playlist *pls = av_mallocz(sizeof(struct playlist)); if (!pls) return NULL; - reset_packet(&pls->pkt); ff_make_absolute_url(pls->url, sizeof(pls->url), base, url); if (!pls->url[0]) { av_free(pls); return NULL; } + av_init_packet(&pls->pkt); pls->seek_timestamp = AV_NOPTS_VALUE; pls->is_id3_timestamped = -1;