From patchwork Wed Jan 1 05:20:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17103 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 CA9E744AC6A for ; Wed, 1 Jan 2020 07:20:53 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9E05068A435; Wed, 1 Jan 2020 07:20:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7EB9A687FB5 for ; Wed, 1 Jan 2020 07:20:46 +0200 (EET) Received: by mail-pg1-f195.google.com with SMTP id r11so20285794pgf.1 for ; Tue, 31 Dec 2019 21:20:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GRqmA0lXZxsz6cvrFBOFvUkPiFGZBRN3ZzAvjjBtUPw=; b=dN0vtMQ5wOTRzCnIFlCSs9Ee4HDkvGEYxvfYEhJnkla4vCvd6HT+pDLZzuBWlmTHDe LFaRPs3HXAzckmw/YIQwnc0uvKVAfHTPEXqrGMuBFBrXDcuQ9AMRkFLh7MTixLBLIZhF 1Bi7BfpCSvNYtWxBQwmZvGGfKxUKNF7RaWneTSMWnPwoEPb9JCa+DcSD2z7uMsft1APv yOmevRifUl+Y4ZTTwFQ2SD0vxkAUP0pa7P6VucR28ZGDPHNBmXhIh54C/tLuq/uQkYRj kxa5kg6HGVpohiEKZLP6pHUcgZlkzTX8u8xlgAuni4agAZx/jBiDUYmeH0N1JFR1mwqh e58w== 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; bh=GRqmA0lXZxsz6cvrFBOFvUkPiFGZBRN3ZzAvjjBtUPw=; b=pauoC5Z0yDQpHeyYFk49/LLlRfKXY47usKYWvg0CX0d29H2+n8Zmydjnln23NF5QKw pLPgN+zUmncOCjysBiX6VOMTBW/hVOkZkvWcIyIarJyeEdfSPAUWmBwxRiMqB1Ct2Nsx 5lWLsoDpvS1msHUn5KkcNhfJ8T9NEzav4Vrej/v6+D9c1VHRa04ULoOCHiN8wXqUAg+Q /pw9oGPY6hFTcmLSNJJRPfoa0ZjQsNEwzkIUgAvwWqFxNQrxzze/2a0f8AjBvVp0i5NE 4LKfrV2H9Wl2mvVUE6swqc14ZgNj5XYDulJwys1d1t/Tielh5UHfc4/1bCoHme2pVQCQ W6IA== X-Gm-Message-State: APjAAAWthT2fw0vyBGSNkWlyo/Vm8njck7rM8NcaUrfq7wUjnP+6FTTW FpU6/o7jRCz/QRHVGD69osQHsbNo X-Google-Smtp-Source: APXvYqzBHStUwvI+xr75cQ7vG6SRGKAtIrEjr4PCsh/XdVRbfu4D/DL9K6r/YguVFdpEiMXKJGCi2g== X-Received: by 2002:aa7:8181:: with SMTP id g1mr82273211pfi.215.1577856044595; Tue, 31 Dec 2019 21:20:44 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:43 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:29 +0800 Message-Id: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [FFmpeg-devel] [PATCH V1 01/12] lavc/bsf: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/bsf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c index c1653cd..8e1af60 100644 --- a/libavcodec/bsf.c +++ b/libavcodec/bsf.c @@ -517,8 +517,8 @@ static int bsf_parse_single(const char *str, AVBSFList *bsf_lst) ret = av_bsf_list_append2(bsf_lst, bsf_name, &bsf_options); - av_dict_free(&bsf_options); end: + av_dict_free(&bsf_options); av_free(buf); return ret; } From patchwork Wed Jan 1 05:20:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17104 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 BAF8D44AC6A for ; Wed, 1 Jan 2020 07:20:56 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A601368AD10; Wed, 1 Jan 2020 07:20:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4430D68AD1B for ; Wed, 1 Jan 2020 07:20:49 +0200 (EET) Received: by mail-pg1-f196.google.com with SMTP id z124so20243067pgb.13 for ; Tue, 31 Dec 2019 21:20:49 -0800 (PST) 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; bh=xW91GX5xTyoTtDayWVhcJft9wjBK1VCWwyEydMBqiwo=; b=XPk+HuHXMxkc9IEKe/bDPXJ5R/JBxjNYtGIA6y8uw3Zc6LGuYm+b/cR25yaA4YyGKa h6seuJ9f7pqCn4i3woT5O29FTAJcvVNhFnmUjIZfx8qJEFhlrYHD75XrP+HBG9y8hENV o6e1yTrip+BcvML1ounmDMM9iwD+T1VOk23sJVYxsYVPZQtrvSBQfSlQigu1lHXJQnpN /Xefp3IA64xFpck0w8AH19Tr967T3K/4yyK3TmFVafL0rYssLsNQ+3vlTC7D79gAmWul YDVvKoQTrqmZcuUgeGedtAHoL1hPiDod3SI15JfEGOcVEw9jFNZCRk4s1SHzTfBRgbiX hg6A== 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; bh=xW91GX5xTyoTtDayWVhcJft9wjBK1VCWwyEydMBqiwo=; b=gGw8Utx9eQg5QACuqpAoWc9Yz/3w1UUKyRPzvoPjGVqdO7GYEyzHi4GjB39nja51tq LYzPeECST3i6Nbz+9SO9Dv7blHf7xGTwwxaztfMWEB4rWbCx+e7vkh9Mzp2JHtgBtnr7 6uFRZxuZA0YRL5zDkVRdDd3gCzo14/+lpcqmwq8YGvV14Vtk+I+MaHCPi3PzWHJiATaS CcWWVg+Jh1E4rKQfHO3u83L/WFof7rICcBpeEDvN91pJ9eeRgG3jVN4Bq2QLIU57AeOM h0MUbDXQkwwOa5Tytbl4Bg1sgPRSiSL30/GjcSD6Xs8sUZQWm4qWBQEbflzciQsMdwDI cRZw== X-Gm-Message-State: APjAAAX2s2feBm/52Yr+8wHD44Rhc5rITL0uaECyCQm+7L9sZrInVFkb ercPKYgDGbpW2cnYCYJLf/i4UIm2 X-Google-Smtp-Source: APXvYqwIR106twv1942eg6G0sa+BtOF2hAmC/CAbTIAq7AQhHy6ZeRl1lA71d3ncQGJncW31S6GiSQ== X-Received: by 2002:aa7:96f9:: with SMTP id i25mr82690316pfq.161.1577856047706; Tue, 31 Dec 2019 21:20:47 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:47 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:30 +0800 Message-Id: <1577856040-17409-2-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 02/12] lavc/libkvazaar: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/libkvazaar.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c index a89ca7f..02bcae3 100644 --- a/libavcodec/libkvazaar.c +++ b/libavcodec/libkvazaar.c @@ -110,8 +110,8 @@ static av_cold int libkvazaar_init(AVCodecContext *avctx) entry->key, entry->value); } } - av_dict_free(&dict); } + av_dict_free(&dict); } ctx->encoder = enc = api->encoder_open(cfg); From patchwork Wed Jan 1 05:20:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17105 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 ABB7644AC6A for ; Wed, 1 Jan 2020 07:20:58 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9718A68AD26; Wed, 1 Jan 2020 07:20:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 11C2F68AD1B for ; Wed, 1 Jan 2020 07:20:52 +0200 (EET) Received: by mail-pf1-f196.google.com with SMTP id x185so20454771pfc.5 for ; Tue, 31 Dec 2019 21:20:51 -0800 (PST) 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; bh=MJMOWBDtDjZ3a9zS6i0kVan9dAg38AM9DRvfRfMfVYQ=; b=Neh6rH06G2MY1LI9yPngRsHT2ZxOdZ+NoQSf09gHxquFvOUUp0vXxgaiuQOBi/aCA2 mke2OxEGnKmCCrCUEXJ4v/wmbPDvcYvdOxAAey0Ok0Z/VJMEVHBZ+8f3JRYfVshhwAnd N4fIzXIAEvU7lcEPK0ci19/+bW+Ea0xVV/y/W/N/klbZ5WyUDt0YtCIFKVs3Xz0SBh+x ddU9U7B267Na2IHyeRCw+kpTkJ/BSz6k3dtvEHyZorOVMdrMEfufB/ukCItgPT8tflKT Avn7SdvGz8WuqsgA3r7Rn9MtCoJ3nmE1GLinQmj3DUoqgcHwhINO3uArr0ZnKlVosan7 NYjw== 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; bh=MJMOWBDtDjZ3a9zS6i0kVan9dAg38AM9DRvfRfMfVYQ=; b=AtnuKB2Y31q6H8koAT4+MYWvNaHzHCwHidZ6e/pblztZgNzMfWTZTo+wFAEPydiqvq Mw29H5t2mwOdji3xNOYfD1wRBC9xfCd2HJ84zcBPsz3cSkY1kZMvF42wU6iWE516G8Tv sx+gRO4NwIUfx3InATfsfEHe7qCqhcQIvdHU69CM+CGg7WzBOSHmFPKYHQhA6Oc4X4Lk OSjlPlC2k2SIKPaDslXHm119xBKtMTfSCmVAVdlq4sGR21HGTOJZbyJD8GADrvQ/mfZy Se8lhyw40d52ObHX48kqs++pRjXXo89ZpM6dvczlO/LngQMQWw0SLBuoL7u9CLrQTJRS M1SQ== X-Gm-Message-State: APjAAAU/L13RM3WIxK7YFfvjlIH0OmDnC4lYQ9P+afJZbS1yZKs8qsAD yNrKSwPBeDC1VLm3am8j5moL8KUy X-Google-Smtp-Source: APXvYqyNOIucJu2MdK37loeTuCrF2EQcpAtNZwWOkOXG3+x6Dcu9vvnTDn71epPBPDSszcNyP3GRrg== X-Received: by 2002:a62:1857:: with SMTP id 84mr82032142pfy.257.1577856050306; Tue, 31 Dec 2019 21:20:50 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:50 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:31 +0800 Message-Id: <1577856040-17409-3-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 03/12] lavc/librav1e: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/librav1e.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavcodec/librav1e.c b/libavcodec/librav1e.c index a5aedd5..13ebe53 100644 --- a/libavcodec/librav1e.c +++ b/libavcodec/librav1e.c @@ -254,8 +254,8 @@ static av_cold int librav1e_encode_init(AVCodecContext *avctx) if (parse_ret < 0) av_log(avctx, AV_LOG_WARNING, "Invalid value for %s: %s.\n", en->key, en->value); } - av_dict_free(&dict); } + av_dict_free(&dict); } rret = rav1e_config_parse_int(cfg, "width", avctx->width); From patchwork Wed Jan 1 05:20:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17160 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp440628qvb; Tue, 31 Dec 2019 21:21:26 -0800 (PST) X-Google-Smtp-Source: APXvYqzWplVUllYjKn5zuafnJ9EuvhOn0V76cST2bkaLb8Od/MSf6EtjO0b6gGBsYNn30ewFJlDn X-Received: by 2002:a17:906:12cf:: with SMTP id l15mr80568644ejb.264.1577856086381; Tue, 31 Dec 2019 21:21:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577856086; cv=none; d=google.com; s=arc-20160816; b=Rvv8fby/Utz81Ji3tLCW8pEanjPe6kT0s/9jRbOvNgkyO+xYpQGFLjtCJrdp3t1asF PDa5CIPPP1riISzj4zUJ7glYlt8oBiEuWnr8n5/BATho6O+a+pnEhLlgaoSlVVwI9KH9 fIiGX0ohDRki0oAbIu3hR4Zq+EMosMADMV5i2sjekXZeoytlVt3DCJbbQI4lGmdToBcO OalsWnd2VILv/4Bcpmdsaev3nP7e8i27di4NNdMXn5Uk/6uRAp08SRj0dECN8Urfnm0L m4a8Mx0DaXo9od9RQ+pKEO40EXp0fmBKQoQnUzx03kaq2VfDTHYmIUkPOjrelK4ygAmW LRIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=XI8VnmI0f9cmaDvNI6ulJ8wK3oXxftvRlrRkrja1YY4=; b=DwFMH0RIdQ2QeU2jn6gvi287SuNhjvSdkK27D/nehG+yl1Y56mC3Ypb0kcmSlEbHkl T5awdT701HIQmTT7JKH0nLKXgWAKHROTFEcph8ix2+nQtZPutip/yMprKoU4aI0K86fT FjKUvyGB1YseV6g+KN3ia7eUupkxipfloCBxHP5QOfa2W42Z1zYWb9TXmBhOW1/snnLG t6+N5gP/Fw3s43ihGtYzICop6/hmqf/wrfKjs3NioMXtyhHu+/M6VS1I732oTBj42kZP YO7TIT3EFOu/ldALWPdvmzffmcyTnzvD6vlFdO2dUQGCcNVRMwI0h6zZI8Bb1w1DinWm IG0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b="QfP/F3GB"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i6si32471571ejs.437.2019.12.31.21.21.26; Tue, 31 Dec 2019 21:21:26 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b="QfP/F3GB"; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3D00368AD08; Wed, 1 Jan 2020 07:21:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9C4B5687FB5 for ; Wed, 1 Jan 2020 07:20:55 +0200 (EET) Received: by mail-pf1-f195.google.com with SMTP id w62so20449090pfw.8 for ; Tue, 31 Dec 2019 21:20:55 -0800 (PST) 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; bh=yHd7035PGfWKm1LosLdvKAOs5bS3OSKb5vqFuWbFiEM=; b=QfP/F3GB9BtV3+Nl7ZE9Fce81XHAX9TCZ+Ao8bvARSz0okOkbLWBe5U4+xgRjNyENW L+tutH6imeWsgnzRUnaOjSVeKHO7d4zRjR0w7KkehH1MmOkQbmZF2JhCWJc8uGh5yPB0 LZYCgYMhezPLXnvE9trwAvsVv+KQrfOdEaoR2Je83ZgQD0dGvoExdpUJAgzjauy4xmuX O2YYCuE2UIPS4q1xqyLnD2NtUJ+yrvaTs3Y7/fJLfoYVBa1b6HIWPLtt8pXiD0V0rGm9 lnm7TE0URaLvW4SLmNljeVlJp107Idl7WrCETPU0wJYXzyT5BTeh1hNZRAy1fsF9irBV 1q2g== 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; bh=yHd7035PGfWKm1LosLdvKAOs5bS3OSKb5vqFuWbFiEM=; b=m3r5C2bUj+/Ga9FIWJf2FxMn3h+NV+TjbstK9Cq1nVCN0Kq504jeWBISQTrUfgA4s/ R+UtqlVqzx1lUNAxe7pinsua5DhEQkGnKwv0sxuYZQSKmdBHEjT8J2p/ci57eqlcGXLP HyZJdOxsNpQE6cfSnE1jviK3fhBdq3vpDv26ODAl+EBodvAD0zl6nwSFQXTqbWI5nQpi 6HRNC4W87X2EjXvpMWmn2i8zercVltYlBF78QNnsXGLRmIgdNrQibwAp9d7CwFCPpJ3y LQYdLKFR57ejIZmkPaHm8i5Hq/wG37Fg2yBNxW54GildSEeJazQA2S9TrZjfQv9mOYz2 50Ig== X-Gm-Message-State: APjAAAU7JXFQ5ZkWxSgm8cQZiw2G9BY/gB/fyQDznqBQziN555vOmDU9 UkGGTPlhH6NxkwYWP+MwEvWp7cSh X-Received: by 2002:a63:6c03:: with SMTP id h3mr77685668pgc.19.1577856054010; Tue, 31 Dec 2019 21:20:54 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:53 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:32 +0800 Message-Id: <1577856040-17409-4-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 04/12] lavc/libvpxenc: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2NC9YH9S84Yp Content-Length: 1399 From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/libvpxenc.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 721a052..e9b3793 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -768,9 +768,8 @@ FF_ENABLE_DEPRECATION_WARNINGS "Error parsing option '%s = %s'.\n", en->key, en->value); } - - av_dict_free(&dict); } + av_dict_free(&dict); } dump_enc_cfg(avctx, &enccfg); From patchwork Wed Jan 1 05:20:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17153 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp440721qvb; Tue, 31 Dec 2019 21:21:33 -0800 (PST) X-Google-Smtp-Source: APXvYqwEi3hBxd76S8y3sGT4lK7kTNp84oqhM0hKVxLB6oFSO1fkfg27s7/GRsdsZ0VV/4xltTvm X-Received: by 2002:aa7:d412:: with SMTP id z18mr78802714edq.6.1577856093598; Tue, 31 Dec 2019 21:21:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577856093; cv=none; d=google.com; s=arc-20160816; b=jrtnkeYJ27JruUsUxQHO4F8ADlkkLNlw4PDR1oBdhe2DNQzLmq9MhZpvBSdWJZ1Dgw Ilqp/VPr+DfI+kffWo8rvYtCmDKoD+IdLAkG82U00jlnuYQ2QmeGj0Kt1rNJvxV6yVOm UENqr9WLCjzXlFl2eUmFhSeVGwTaHnFiF7XekVc3x4UhTCn9NsQUhpfm3coODR2cMo8X X+amxN8lC3YVhcT2ZuVFFihA77XHpW+dDZfAD4RzKNEhFyAE6AIxn1qek5Swxt6YgrQ6 5QVE6y5/Do+MoHbxYpXAD1DC6QHMpmPGCJCZWXFYoHPHxrbixsbPHWu0pmuGCuS5bebU zt0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=EyZABC8wKCZBgPSI5sZytj5QJyMzFfua8wvGJR3O0Y0=; b=ab73x30AHQEhMKZTi896A3SDGTc/YZvZhogaQ9gwd4doQQTOO54pWtMZSCDkay+noD WWlR7GRQE2h5TZN9lqSL6VyPfTGWj2UAJt+39eTacLduuFmHs8FKEmzTN1k1X4J8xvKT NuRYKD85FEPi3I33BJ6UwkMkZvwsXYfyJUXephBpXUdk+oIi9hfM820ch/e0+sGUZzPl 2UhDZUSk/A9u49ZFKd9mL0vuFYixmzAkBuQkddNueMMNg3qvsUwzYJYTw3gNbSbsglAH NWoI3AhXRLQJT7E0ImK2CzjDRoV4xxYHlRgjp/yhwFa1PCqIkjM5mcXln4r2Qw8Da4Au vQwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=PS9v+5UH; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dh5si34614535edb.401.2019.12.31.21.21.33; Tue, 31 Dec 2019 21:21:33 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=PS9v+5UH; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D997568AD5C; Wed, 1 Jan 2020 07:21:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 693D368AD57 for ; Wed, 1 Jan 2020 07:20:58 +0200 (EET) Received: by mail-pj1-f68.google.com with SMTP id n96so1830217pjc.3 for ; Tue, 31 Dec 2019 21:20:58 -0800 (PST) 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; bh=1qFfX9xQeTfXAnQ595VApSV7TWmhPbH2+9Fdypv8ztg=; b=PS9v+5UHa6SdHciSuNCx4xe0LberJUAyxIr/ZjD3ovPsjZgTi4DJpvnuEzWyo0/AhZ eBaF1JmUu+7MVKm8pdLeH6M+f/u27OvfKiGRD/4+E6Fi7rpx+yiT1W2Gs+aWnFRSVEKc DaRRyVKBcppb90IVpUwRu1ZNVFXBDvEAmkn8bTJBVj7No1NK4P7zD8xmA4PTpMO6tmaf 8O6LJeyJKRA7NfqResDQpiboMXFXZZUc1JygZvgJfDd5Vla43jpCePtTQnF/+Alu22IE HPaJ2rrwt1TSgEri9wsKfUF1G/DSGIYp51UhY5WNhJTs75t8j8i3EP0EPrkO2Wv+iY9M g2Ig== 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; bh=1qFfX9xQeTfXAnQ595VApSV7TWmhPbH2+9Fdypv8ztg=; b=Vc94q6LNuBdw/3q15NPnSkAmA+V0R1AJ04wD1cG0BqenRssBeWtrS0c3P93I3PXQAM 5h21S1ZUt7NwC7ZUwm5pudA3Za+l7QYjc53hwq1VeyVM0fhrVmntD2Rv6uWjZ4IqdNpz avEHXDE9t//ICjbPcIqi9BQV5R1NCTNAb9F6tR4ZlUnkQoQxFmJ6pASGd+vUyCI9FAxi duPXXPc4s/uF9qaggc6JQ2Xdp1oXbDYStdvZXrak+nqGm5qLzYJnwimypqP/6jOclWz9 DHGBQiVIZEEFt544BU0ohkMBDwOUVo3xZ/JtHBwDGrlxJgUm7pbfbDzUtQ/aG6hs9PHY j2ZA== X-Gm-Message-State: APjAAAVD+fNPKv1nfChgE2ehKQBWru27r/2ZMkR16+uhhGKOUaONmJ0I BU/2wPK7DMjUnNcQY/71VyLQ1GWh X-Received: by 2002:a17:902:8641:: with SMTP id y1mr78110368plt.110.1577856056292; Tue, 31 Dec 2019 21:20:56 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:55 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:33 +0800 Message-Id: <1577856040-17409-5-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 05/12] lavc/libx264: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qHBpeaqVmBHq Content-Length: 1407 From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/libx264.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index bfd91bb..b982ba7 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -903,9 +903,8 @@ FF_ENABLE_DEPRECATION_WARNINGS "Error parsing option '%s = %s'.\n", en->key, en->value); } - - av_dict_free(&dict); } + av_dict_free(&dict); } // update AVCodecContext with x264 parameters From patchwork Wed Jan 1 05:20:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17136 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp440830qvb; Tue, 31 Dec 2019 21:21:42 -0800 (PST) X-Google-Smtp-Source: APXvYqxexTyuAyEjDrZ+HqIqtX3cu89swLO/ixw1oWhJLC8XbEX5rr5Z78x/C2WOs3CqY5aCMFut X-Received: by 2002:a17:906:9501:: with SMTP id u1mr78214189ejx.113.1577856102253; Tue, 31 Dec 2019 21:21:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577856102; cv=none; d=google.com; s=arc-20160816; b=qU1LnQTU35ZFJhssICCNEBeDuqsyPYz0AT8oDCyferrT+sQB5k/2i8q6N0s/qmS8Fc oC7i9jCu/ApqKIHjerEi+Nq7WOIQ84Zca8zSlri0D0oMYiSHz0jT7zDSAh2Kj1lNkDxz oqCXrBEFLVhBGZfVB5TjCPkRDQWXBmhT/RMQ1KLlfkqtS+COULqRDPHVB0aETy23SCFt Bo3YoHpX0hTtKC1QiQJekrgxZcfchIHu5sQPPdFOPJ8EVTPg41ardguKFtU2/XXUEAWv 1wljxZYIkZ1hyGLac0gXbvhkYhMC0xG8wH5A3SGqbfFaE6Dj2rRZL4SUIuWZ2XcDgYT5 S7VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=bcJPUKLxs16dMAH06GKsr7pyMRxz8dN2XIDEFcSxzKA=; b=i9c5CyJFYLiKJqlXMcEao6PVxuPuvjBEuw9nuod61MUOHFi4nbSi5WZuMQnjW2vAJp RtGQjWKz9wGqjCFiYOz4dKcoYFO1I/q+09Ia4YGr5+lgv6N+pUg2qunYlWIvx5+ftcn1 yQnivtsS+F2c6i+PoARJX5Q/Gf+0qqNm/xJoWz8Uph/3sJMYjc7sWizT9KwaWYe4JaRO MGszeeeML4RfYvnFBDDLm0beTAl2OJJPxo8Zdo6pTuZgnPwOt8FxP+0G9q2Gu+K5AGQ1 uHkzzqTQulvhfda+dQE/6KiR/1Sff88hEb6cpU0gf6ud1W6IVfTCyW3LcJhQXlEumR5W iiIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=t9jRLhyN; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f12si33335867eje.429.2019.12.31.21.21.41; Tue, 31 Dec 2019 21:21:42 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=t9jRLhyN; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83B6268AD83; Wed, 1 Jan 2020 07:21:06 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2638868AD1B for ; Wed, 1 Jan 2020 07:21:00 +0200 (EET) Received: by mail-pj1-f68.google.com with SMTP id r67so1836487pjb.0 for ; Tue, 31 Dec 2019 21:21:00 -0800 (PST) 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; bh=bjgg2r7PPGhkgpHTqiLFWb5wvkke0iWMDDGNbDtmx2E=; b=t9jRLhyNTvUGC/a7WeZBLqDPKT1ftIo91u6g74h2n4uEVwgfVFwKURro9EFSTKat9f AmjayNt/8GSFwPlqAcTIdBn7yCruHs3IZ4VT9VcyRCNsTz1wxS9z56pOElFdDHwSqNq6 8UuK5srraixNis6hT6gAYpCtOPH2qjbHmoVtWFuNDX7kMvuwe5wFr0JkIpfntwrAgw0o gnkoGrFIlLuybFeXzQbAonTOrgq+OMLC/k8h++ymq9wLOUS6Eri3wtld75jqf51CrriK jU/6vO08TUy3/sgj61aBVf5oNYpUy/aQH/YLf7t+Mi5Aa/7b0Da7vYQt+fMx/pq2Jpsk 9VPw== 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; bh=bjgg2r7PPGhkgpHTqiLFWb5wvkke0iWMDDGNbDtmx2E=; b=Jxr0muhkUUxGv0OUdKX+Qoi2R49qMAV3t5XhcIz5KIuvUE2tEOXtfZX0iE+EtpTptB 85bhzvszXiynljCeS0sfN3JLL9dxLDXrg24JfXOu+A2Oo3V8277aCv3H6Y4MVOx2Pxr9 AlxyEpPMgdaDmW48sTyBaCiKo4XUaf14q5AZVIGEC+4FKBDX596kifkg/DdXu8nWxYmm FZWJSzXOjvZ8jhIJTUJlCpWybUpYFw2bbkQ0rAvGRkrm8tS+4DM+D13rubkehrPTC1RK gV/rkZPRHg9x12mpGH+H8JNXqTYTdsiE5x1M8j0FARyIz/aBgjs4UNnAXh7nEK0vzML6 tWiw== X-Gm-Message-State: APjAAAWpOGwchQlUGuyv+GoL5YcrMPcDRnSjmdWmv7nEwoPDSJpdnr6q wsRbKl/+b4da1AkGaVrHWaGW1WGY X-Received: by 2002:a17:902:8d83:: with SMTP id v3mr75249910plo.282.1577856058440; Tue, 31 Dec 2019 21:20:58 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:20:58 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:34 +0800 Message-Id: <1577856040-17409-6-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 06/12] lavc/libx265: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: lCR3K6yXNAbW Content-Length: 1403 From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/libx265.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 963c28f..3836049 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -262,8 +262,8 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) break; } } - av_dict_free(&dict); } + av_dict_free(&dict); } if (ctx->params->rc.vbvBufferSize && avctx->rc_initial_buffer_occupancy > 1000 && From patchwork Wed Jan 1 05:20:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17107 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 905B844AD49 for ; Wed, 1 Jan 2020 07:21:10 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8128C68ADB3; Wed, 1 Jan 2020 07:21:10 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 500DA68AD73 for ; Wed, 1 Jan 2020 07:21:02 +0200 (EET) Received: by mail-pl1-f193.google.com with SMTP id p27so16494857pli.10 for ; Tue, 31 Dec 2019 21:21:02 -0800 (PST) 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; bh=L0zErQt7qcBY7Ru0Cw8YC3lvCX8nC26am7xKUFg4EGk=; b=Qi8Nz5MU67YmsnPzc6tYq5HF6wM6lYtrw2mqvieVL+gXFmL0zXwnAQ2DqAaVAwT7IP yq6BHzXgmd0xAnrJ8mGFSsPJafA/i8nK0AN6Ue9A+/Q4JodhJtUP4W4lox7Bgm6MXJWG 4gSlwPeIMCqaH+EbQLYN4W6+GxqpQL47o1ZPafNWjmI45fAmAMTC7s5BOVD0KjGZv8CF RRFADHeeOW7ZnjX0OcSOg3yEeibm0pbd6OoWQoFZtvhW738WouRdgj+WgUmtoh/8qwi8 O0y5YCtTJlm/J/UEI1xTWVmlow8w8amBK/8xVnwO8C3cYTd/sT/c0K5cKNu6L3Rwbq8M bpMw== 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; bh=L0zErQt7qcBY7Ru0Cw8YC3lvCX8nC26am7xKUFg4EGk=; b=d4GikdDrWyfCV1edHyL4323MCoHzHsOXVbjdXpS/TthHg6jGNj8FxAPxVXJpUFgokj 2NuJ8KZBAZO7491UBD6s4co6wLy0dJJukX0S8rHDGfmibPL2z6WCmJHrVpqW/PhAEAp0 zGvmVXyJjk3qX6fNMyJA4APHaCj2mVPRJI34OL0B1UeSz8YcGuEiwPWbXAHe+GI9p5ZH WuEEa2Gdi0B/iSLQFhO/KvQRQ+tlew+GWv+Oq6YPYyQQ5tFjInqGoYWbJvh1C9hZh+h1 6AGSrx7apzZ6cWHlUYvHOyZNYREuxzsvzysqpqDe2YoRntonV9dgCQ17NtkUMN/JwgYs D4LQ== X-Gm-Message-State: APjAAAUIsXvKKk1z7VQC7Xi+rs2mCxauG0MJBe8bA3elXJRYFaT8mhi3 d5whzcFdKU2CPO4m0jIFGQcX53Yr X-Google-Smtp-Source: APXvYqxSYAlWQNZrrKLdGmCWz9ycvnv8MBuiloRiqKfMzL2tWTeXfhjjjlrLoEoruldLlvf5dJ9f7Q== X-Received: by 2002:a17:902:8f85:: with SMTP id z5mr78806909plo.43.1577856060710; Tue, 31 Dec 2019 21:21:00 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.20.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:00 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:35 +0800 Message-Id: <1577856040-17409-7-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 07/12] lavc/libxavs2: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavcodec/libxavs2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavcodec/libxavs2.c b/libavcodec/libxavs2.c index 2f8460a..91afeeb 100644 --- a/libavcodec/libxavs2.c +++ b/libavcodec/libxavs2.c @@ -100,8 +100,8 @@ static av_cold int xavs2_init(AVCodecContext *avctx) while ((en = av_dict_get(dict, "", en, AV_DICT_IGNORE_SUFFIX))) { xavs2_opt_set2(en->key, "%s", en->value); } - av_dict_free(&dict); } + av_dict_free(&dict); } /* Rate control */ From patchwork Wed Jan 1 05:20:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17149 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a05:6214:1865:0:0:0:0 with SMTP id eh5csp440935qvb; Tue, 31 Dec 2019 21:21:51 -0800 (PST) X-Google-Smtp-Source: APXvYqydWI15qubVdGY4/LYoOc8dmGaYGHuWa1AbAuFKVuR4o1g83dkEkfjRyBBtJdhEIeUfl1LV X-Received: by 2002:a05:6402:b0a:: with SMTP id bm10mr51610586edb.251.1577856111047; Tue, 31 Dec 2019 21:21:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577856111; cv=none; d=google.com; s=arc-20160816; b=gwaSAVkr8qKbfbcRDsY2ZWk79Oy16QS9p1wOwdmZVItpapYFMY1oMcu5UZHh3hkSY1 tHesIW/MWbEg62v/HSt4KxTnDyUvAoXC2+DC3U7MbzBfZvvTzRViiLz5J5EQmzDeK5N0 LFc5G5dhawn353OlZn/GMRjDPAPFWTPNe/1kuUaUEnOGhudrbYDd3qTLm7LfDQzpMPdO Fz+eK/rGgKi40kavSN8AgqfJwKv01kS+ijDLY7WSbeW/dhlJ0SD6XfeYg3Xylm7XlkHM D2ilfsvRoyfvvMp7dEnxVNBSn01xP3LLLmEvBM6hRb60fT6NwqfPCX16jOHkFw6tPpIY 0EhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=Ev4WLfumbM8cr63fOykpZFvqH3hrSnFe5Kaq+M1MLmE=; b=yfvjDcyQNl8uEzY9vdZMpoHQREDIcZbguGk66qrIo/MF7qceiM5sfYLN3z6ieFPES6 u3NAWs6QpVgtlhugJWWMZRDSGv9zxwwmcIz5FFE2TjptUpMmEQu6aGgJ/iZ+et5JgNaj Py2rhB+V/QKL/9C0cnUojREm3z1uVRrB75p2yKwTQCrbF6OIMyQ0zYWbTi9wle4Er8BB wYOYb4zLeMFspIL2kJJpnm/LXuk2u8kwVXauu3I5oAhU0hDQ8PhrXnBz7L3icVEnd+wT z4AlQWLCEB7UbLnKnSg3AE1OECRofoDRAte0JSZ5HTdIFHdw8FMJaoF24EPeebKw/iks Zy5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Jt4ch9pK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c11si31854331eds.65.2019.12.31.21.21.50; Tue, 31 Dec 2019 21:21:51 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Jt4ch9pK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CFEC068AD73; Wed, 1 Jan 2020 07:21:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2CD0F68AD6A for ; Wed, 1 Jan 2020 07:21:04 +0200 (EET) Received: by mail-pg1-f194.google.com with SMTP id x8so20263180pgk.8 for ; Tue, 31 Dec 2019 21:21:04 -0800 (PST) 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; bh=6yrvcVgj5eYj0o5o9xkEW6Hocjay229traSW8D8SlhM=; b=Jt4ch9pK35vpptiOXwBM00WcMkA1ZM2SRI7M15gTmvpok4QI5P32Dbr6apF0GY6EPR TPy36aMMA39IdnsEoaBBIMh4xsRRHPgcpTJYtgex+Gt93Q53Y61r7pwzejNSTIW/1je6 cONn+fVqvJ/6YQsk+j/fUn4F/3iqtUU7wzT9lJ83IpzuNqyVEkTANKzueM2kz6Y6Byuo 6CteNwjFZNghJGYVH8nTcu5ouGH9TzTV0Mvze2ZtQfdNDzIbyTouNOlHjZuyaKst1GzX C8QRJcidtsVH/tPstVTvIoXTehmqTkK5tsrPmlU66fdhWLYt1/Jryjp9raJGqeBhw1WO szRQ== 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; bh=6yrvcVgj5eYj0o5o9xkEW6Hocjay229traSW8D8SlhM=; b=WImF+eLnP2flv5ZCxKGxDfhvZDsg47Gm/yE2D/4jWtWhAafWxs1ZxuHvNta0XhKSw9 T3IP7QJFioCv5LJkASOQ3nefPSZhfFpHqEmfmBkIc8y6MZAQjbCpz+8E3A90b0S6Y6rg atHHoemWVKX14sP6ikZq5k20B1tgH9TDvoeuMGNgMGfhDShSA0pAA+4KWBUOKeXQT9jU /rJO+NSeENAycmt95TuywETV7rgVkg8FizLLZM2ibI8uvDlwyZDMMhs37z8D0SW19L8Y KIvgp6v0IzqeoF7aFDG3jfvalR6eJsj1YnP1iVLsAeDpEUjRltBtU2pYwchSuC43zD31 rkOg== X-Gm-Message-State: APjAAAWpSbXIr6vQi0f6NhFoErDsvKalDJeODnBQzjkGXKButV/eEIfz wDwUv7dcr+IZNV3GQorQ2t5fncH1 X-Received: by 2002:a63:5924:: with SMTP id n36mr82714504pgb.43.1577856062918; Tue, 31 Dec 2019 21:21:02 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.21.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:02 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:36 +0800 Message-Id: <1577856040-17409-8-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 08/12] lavfi/coreimage: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 7LP79LTFKZq9 Content-Length: 2319 From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavfilter/vf_coreimage.m | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/libavfilter/vf_coreimage.m b/libavfilter/vf_coreimage.m index 323a28c..4ed5ba7 100644 --- a/libavfilter/vf_coreimage.m +++ b/libavfilter/vf_coreimage.m @@ -486,6 +486,7 @@ static av_cold int init(AVFilterContext *fctx) av_log(ctx, AV_LOG_DEBUG, "Filter_string: %s\n", ctx->filter_string); ret = av_dict_parse_string(&filter_dict, ctx->filter_string, "@", "#", AV_DICT_MULTIKEY); // parse filter_name:all_filter_options if (ret) { + av_dict_free(&filter_dict); av_log(ctx, AV_LOG_ERROR, "Parsing of filters failed.\n"); return AVERROR(EIO); } @@ -507,6 +508,7 @@ static av_cold int init(AVFilterContext *fctx) if (strncmp(f->value, "default", 7)) { // not default ret = av_dict_parse_string(&filter_options, f->value, "=", "@", 0); // parse option_name:option_value if (ret) { + av_dict_free(&filter_options); av_log(ctx, AV_LOG_ERROR, "Parsing of filter options for \"%s\" failed.\n", f->key); return AVERROR(EIO); } From patchwork Wed Jan 1 05:20:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17106 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 BC94644AD49 for ; Wed, 1 Jan 2020 07:21:09 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 995EF68AD9C; Wed, 1 Jan 2020 07:21:09 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 01B8768AD6B for ; Wed, 1 Jan 2020 07:21:06 +0200 (EET) Received: by mail-pj1-f66.google.com with SMTP id t101so1879843pjb.4 for ; Tue, 31 Dec 2019 21:21:06 -0800 (PST) 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; bh=4aG5j/W7JHpxn8FSFrQw3wdQgxTO6wNCG0+NVb9AfHY=; b=EYqiEaGdiRxZSJV9tMJSNtg+j9gy+IYBrNJeLp8XVbKYpUXcc6X91RtXeBB0tHF6X9 0d8FYTt7G9/JDMO0MFNpTFgHQeKN3x/grLTunPqskANfw9K6RFv8xZJMWO0yqPHDCaS1 dWjA3CqzpUWdrPjwsD9NgZs+6R6WJEaLWDYlCibJz8V4t+XMm6SSrDI/DRpHl8Y4pWKC d6vn2KyZxdB955x2+ksdYGXqXGeQ9Ri+TJG9vmx+PKJ2zpCwyj9WV65qm+chrwpBqZw2 1Fnt74Pz233ZmBeJyvo2fOhzbAVHHBae/ashuYePzpbd8G4T/ypjh1//WS9i6ajv8ALe vddA== 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; bh=4aG5j/W7JHpxn8FSFrQw3wdQgxTO6wNCG0+NVb9AfHY=; b=Q7XCJiHSP7Q/Xud3m3UMl+UjRe3HKeQFrvc/ukK+Hq+VxqeCLgf4rwvCw7hIX8dvhp ae+hfnI2XEt3a68kOrWCwfoL8Ay/LZsihDEE+gPKPCTjob7Fo8aQsZ11cpX8LfqBycok tZnDopCyCaEt5icJRffRvVPYZllBBOzFD0gQp4levcXTqUGeGaNlPLvYslRM26KR8heD BpsaKdimrsBoXxQK53wDdU3oWZc5gbnwL7n9qTxK0iqmJvL6AOOs7t4B2BwN/LJ55i2u 5pMSX+e9XbmsJ1lUneg+5oMMwWgaqLKoaNo3Vote+r1x8DZ+H42WiCHyG50PADASoM5m B1uA== X-Gm-Message-State: APjAAAVXhAp4IVlGVTjjVK+uvDxHfWqmAfB+IBs97jn8N1GYIBQuchpv IRUJ7o2zlK0dyE+8a3T4EfOCFtDE X-Google-Smtp-Source: APXvYqyj+WhJkafWTDdaD8gUzAwJCsojc0kO2D93WMVCHz2g2Ks3UNgT464VA+Kdi3EuJ6OFpMuj3A== X-Received: by 2002:a17:902:d217:: with SMTP id t23mr65871578ply.197.1577856065223; Tue, 31 Dec 2019 21:21:05 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.21.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:04 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:37 +0800 Message-Id: <1577856040-17409-9-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 09/12] lavf/dashenc: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavformat/dashenc.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 8c28fb6..c37678d 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1305,8 +1305,10 @@ static int dash_init(AVFormatContext *s) if (c->format_options_str) { ret = av_dict_parse_string(&opts, c->format_options_str, "=", ":", 0); - if (ret < 0) + if (ret < 0) { + av_dict_free(&opts); return ret; + } } if (os->segment_type == SEGMENT_TYPE_MP4) { From patchwork Wed Jan 1 05:20:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17108 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 983E944AD49 for ; Wed, 1 Jan 2020 07:21:11 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81B2C68AD9E; Wed, 1 Jan 2020 07:21:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 20C3468AD92 for ; Wed, 1 Jan 2020 07:21:08 +0200 (EET) Received: by mail-pg1-f193.google.com with SMTP id q127so20276328pga.4 for ; Tue, 31 Dec 2019 21:21:08 -0800 (PST) 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; bh=TJIS7CeISB0OArKyD5SLYgVFQCouKwtuQ/qdDFcLJAA=; b=vO7N+py7oPiah7kDUlnR3cKcrI0aYYgVVOdeTAQKYCOtzWVsvI2bh33cQdLErdED9U yXzoYBSdF1MksEud3Yn57toMy+Yn1x3u1pYPJwDa5pf5O2OAcN8R+LxA1qlmiDRpI71O g8zSXQVyJ1a0/Diy7JPSxHbte8CTP8SF1E+9bFUu9joutFlN2w8etlSdOxfNbXQ7Sg1n pZP2CUSIlQVOSc00uzCOabs0nuMfPV65LFcaRyhJPqlNjGKWTjMEBGs50jlXAT2sUvM/ kFsAp9k2Jp+AraXO/SKG/mFgxJlQU/t2iiifoZSJ+Auc85Bhu2dKFQyCAEPJyut9jn1O obWw== 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; bh=TJIS7CeISB0OArKyD5SLYgVFQCouKwtuQ/qdDFcLJAA=; b=R+lkOOS74IgwNUfHRFaxHtwn7Uh+Ygo1RCpd//YKOwqEzQIAJgykslk6zQnxRw5wp0 0bTtw9UwKKdZp78iKh8P64IxftRKEg0dv9yAjbfE8OpV0Fd3n0+WYUMh/jBvxEf/F9vG l2ENf+xESdaMJ5qd8NUtpTI7g0YFftJy9Xnl5DdmFnoRv/PmNtat+54GZhrJPwuw7oxj 5yaXUYqvRj9/yy534qIaZfgzvhTUARDZ7SIRPUQauGv0b/w/68GHngZrt8H17QOuVeep PjWMKSUUb9poCun9D1M9cv2h5VvZcaM6/hc7BZrZSBF4YrpPX8+UF8+zeRt/5/HWWuj7 jJWA== X-Gm-Message-State: APjAAAU83VnnDjJQbLhljA4XtPW+jKbDI0m/n5dZkTwjiY9aXjXcLWvz Te2SRj5T2mflBa//ocmeooeNRsQF X-Google-Smtp-Source: APXvYqzljHtSVX1by2aEp/b+7uRoGV90AoY+hH0pDxayyZ+R6xzIZQny5skdhYRojJxgqakBxH9IdA== X-Received: by 2002:a63:3dc6:: with SMTP id k189mr80727941pga.396.1577856067382; Tue, 31 Dec 2019 21:21:07 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.21.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:07 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:38 +0800 Message-Id: <1577856040-17409-10-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 10/12] lavf/hlsenc: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavformat/hlsenc.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 6551e1c..df19545 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -856,6 +856,7 @@ static int hls_mux_init(AVFormatContext *s, VariantStream *vs) if (hls->format_options_str) { ret = av_dict_parse_string(&hls->format_options, hls->format_options_str, "=", ":", 0); if (ret < 0) { + av_dict_free(&hls->format_options); av_log(s, AV_LOG_ERROR, "Could not parse format options list '%s'\n", hls->format_options_str); return ret; @@ -2781,6 +2782,7 @@ static int hls_init(AVFormatContext *s) if (hls->format_options_str) { ret = av_dict_parse_string(&hls->format_options, hls->format_options_str, "=", ":", 0); if (ret < 0) { + av_dict_free(&hls->format_options); av_log(s, AV_LOG_ERROR, "Could not parse format options list '%s'\n", hls->format_options_str); goto fail; } From patchwork Wed Jan 1 05:20:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17109 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 9E30F44AD49 for ; Wed, 1 Jan 2020 07:21:12 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8525768ADDC; Wed, 1 Jan 2020 07:21:12 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDDA868AD9E for ; Wed, 1 Jan 2020 07:21:10 +0200 (EET) Received: by mail-pg1-f196.google.com with SMTP id b9so20252279pgk.12 for ; Tue, 31 Dec 2019 21:21:10 -0800 (PST) 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; bh=zJDZsbzcqEXcxA306rLsOYjopcomEiNzG2XIgcMMNxU=; b=OcY39M5YClDtw3rmuOqeda6o/twJjJK0lL5Vgy3rSMhf21MlXUM0NU5tvcSYH1mHJO LxIq9AzurdTA7Ad2FWgelMlOunUNCYBbOP/2ddDvCkRBsEPxqaKGgDitd3whCdi7jlSh ZMYbAporlzrd3D+UQkE7D0faHFpHLNe44HFgHQclvZKiPUtDE8RW3ams9z2yihZ+++0I pePJYi4CJDi7evGmLoIF5C9TmMxBdQjMDHKtPj+1Renns0NtQchMhyyiAJL/PI2KKwdd uXfwugq35NrqLoTRKEGQZwVNXNFy5MJIks51whDCmuQNtUdRznnYN3P2KJvfl/18nLQq JeyA== 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; bh=zJDZsbzcqEXcxA306rLsOYjopcomEiNzG2XIgcMMNxU=; b=ZgUrcbng/ZZjLVQN36mWJWenvAFW+LJZ10Br/UeXETHJz2Tod4dKYyePfDqKHug9Gu J2+JDKvaIllajLlS7Cj3wcGljSqt0QcJ/4DPskIqccDfYTChCx6qhMtzAAkQfIwhFxLL U5qX0mJzwM6+SIRuYbT/CYBOln6EqlL4vPBt93eNsMmpl522KmX8jSTJJp6sLAFeN8Fz CLXBUxCTHDiTD2ev/6Nv2XyzeQsB50sjY0s6bPxSd1FFKv8DD8WLO2AQLms0h6Dx3ZIH zBdBGl6STuXRYbsiuLrSATGsCm3S7VG96bqniC5HtodNQFrUi/dYkVnz/IhGnHQnaXNj iSuw== X-Gm-Message-State: APjAAAVJj1krjZ4fj2TZj6qRTrpPhMfZ0AiEPrf+qmzeYA8ofDEEROE+ nDpU8mxIgGAcwQg60tI+fJk2oSZt X-Google-Smtp-Source: APXvYqyTFmdLb/VIq/8RlG/5Qq/1pspkn99EZVBL/408vddq3Y+I36JwLSYueSeOWTz68OtrxuQLtw== X-Received: by 2002:a62:3703:: with SMTP id e3mr72199583pfa.154.1577856069462; Tue, 31 Dec 2019 21:21:09 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.21.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:09 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:39 +0800 Message-Id: <1577856040-17409-11-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 11/12] libavutil/opt: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- libavutil/opt.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index 60161d4..a482feb 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -452,8 +452,10 @@ static int set_string_dict(void *obj, const AVOption *o, const char *val, uint8_ if (val) { int ret = av_dict_parse_string(&options, val, "=", ":", 0); - if (ret < 0) + if (ret < 0) { + av_dict_free(&options); return ret; + } } av_dict_free((AVDictionary **)dst); @@ -2006,8 +2008,10 @@ int av_opt_is_set_to_default(void *obj, const AVOption *o) AVDictionaryEntry *en1 = NULL; AVDictionaryEntry *en2 = NULL; ret = av_dict_parse_string(&dict1, o->default_val.str, "=", ":", 0); - if (ret < 0) + if (ret < 0) { + av_dict_free(&dict1); return ret; + } do { en1 = av_dict_get(dict1, "", en1, AV_DICT_IGNORE_SUFFIX); en2 = av_dict_get(dict2, "", en2, AV_DICT_IGNORE_SUFFIX); From patchwork Wed Jan 1 05:20:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17110 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 6B6C544AD49 for ; Wed, 1 Jan 2020 07:21:14 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 56A6A68ADDB; Wed, 1 Jan 2020 07:21:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53B8368ADD9 for ; Wed, 1 Jan 2020 07:21:13 +0200 (EET) Received: by mail-pl1-f196.google.com with SMTP id b22so16494707pls.12 for ; Tue, 31 Dec 2019 21:21:13 -0800 (PST) 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; bh=XQeDoQ8Ib7JotgXYJxszdlNIkMqnlmZa8PELF5R5g/s=; b=r7ZFUC5qf5oV9dgsbKqyHJZZlwCf9cTB9BlpDary4gbBBKIdsfuE5Zx5gb5ZlK6faV 8vAIa/WjPIwICW8OYcqB69RMKxILhjgtIlR6HeiTxWfOshpu3RfXPtT1WNF5tLxnDJWW 8yiq5rltCeEIBYTk0TlBO4NVWaNS37HZTLoaIYIl9/OS8/YMUXGL0NHBsekUyiCKQk/m fvb9ZFYsIgy6b8Ykd7DuUhjix26TpOKDMTFwnQz3TPeBC1Yrrb78gUglRp41T8LJFzLt tbx6+wjmXiCI6fFhTbcK59itYnj6AKFQvxHvxIQT6ayUYgtqEDUSmXNZDxzIzwE0M33G brkA== 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; bh=XQeDoQ8Ib7JotgXYJxszdlNIkMqnlmZa8PELF5R5g/s=; b=a2jMyqQnTLpbjkJ0HR1cAuH8uYXjSpxcmwjKmTDMKlOvoXi9GW9etICiL3Gta6MXjr w8xVhCS1Y56IL9sVpHtrokkVpHAQsqCM4z4WBw0dtsgnRfp/1Xu23xdGtDL2elPbvFDW dh5jfRN1OzCdu/15x/cvWA7tLC8YTZf5PLd/SogLxeibRvhTWdYCcvEos4HMjUI6Tc0D OWmPBHqCdZ7tF182y3vGOQ1E37JaU3Wcm+VXBRHosiFNeSnPzD7TsRv7u8fAqX1i2k/k wnn9FSx+1yNoHHXWM2NjCizRm5KUpUdhCyefXrWV1NOHNE+SDJwweGKRD/W64U14Fxwe h1Ag== X-Gm-Message-State: APjAAAU/a6J4Wrrib62dT1tVIZfxci4coAI+L7YwOKyAG5Q2my+QZ6s8 qt9tcEUUXAz9VlQd56QhkVX0sh5W X-Google-Smtp-Source: APXvYqw18LO4Fhzy/WCo4lUjXIKl2cRQLSus2ONM0QoyPaf1cgW2cbrSznCydFVzePU/IiWnvIYy0g== X-Received: by 2002:a17:90a:c214:: with SMTP id e20mr11309178pjt.98.1577856071602; Tue, 31 Dec 2019 21:21:11 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s15sm53908530pgq.4.2019.12.31.21.21.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Dec 2019 21:21:11 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jan 2020 13:20:40 +0800 Message-Id: <1577856040-17409-12-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> References: <1577856040-17409-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 12/12] tools/aviocat: fix memory leak after av_dict_parse_string fail 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao In case of failure, all the successfully set entries are stored in *pm. We need to manually free the created dictionary to avoid memory leak. Signed-off-by: Jun Zhao --- tools/aviocat.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/aviocat.c b/tools/aviocat.c index 816ab70..0fdf39b 100644 --- a/tools/aviocat.c +++ b/tools/aviocat.c @@ -53,6 +53,7 @@ int main(int argc, char **argv) i++; } else if (!strcmp(argv[i], "-oi") && i + 1 < argc) { if (av_dict_parse_string(&in_opts, argv[i + 1], "=", ":", 0) < 0) { + av_dict_free(&in_opts); fprintf(stderr, "Cannot parse option string %s\n", argv[i + 1]); return usage(argv[0], 1); @@ -60,6 +61,7 @@ int main(int argc, char **argv) i++; } else if (!strcmp(argv[i], "-oo") && i + 1 < argc) { if (av_dict_parse_string(&out_opts, argv[i + 1], "=", ":", 0) < 0) { + av_dict_free(&out_opts); fprintf(stderr, "Cannot parse option string %s\n", argv[i + 1]); return usage(argv[0], 1);