From patchwork Mon Aug 19 13:01:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 14585 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 21C2F447E2D for ; Mon, 19 Aug 2019 16:08:40 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0AD7168AB51; Mon, 19 Aug 2019 16:08:40 +0300 (EEST) 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 4001568AAB1 for ; Mon, 19 Aug 2019 16:08:33 +0300 (EEST) Received: by mail-pl1-f193.google.com with SMTP id t14so944822plr.11 for ; Mon, 19 Aug 2019 06:08:33 -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; bh=mOcyVlv/1tQ+d/DF+02yxRJzaOMGoyv93rUM0jYuEJk=; b=XpYzVtJBUCxU0XtyM+hshp9KihUZ4vRHdfRQTRH6xck2yqALtGVWAh9hiKOmoe4Zih utn/6UYmo7HeruEd+Z3U5d+Cd5s4W/ycjmd9rwnSR2yaMs3OrV5k882MbUsdJTKClXYD 1lbEpuncOf9HYT23kneP+vMhWf/y7026BPBGjC9mOmiqRe00a5098yS+AajMrSeVYtFQ a6MTmJY3OytkyKqGHgXA2FWyBRfrRxeIjgkGfHOrdFdhv9OiYIBkOhxJwwzvdUVp9h1X Lh6tvYMl17tzuZ2ilB2GBZPaWLWjtTdai6YqhHsqc5ZKQSPJ0nsibKgVDL9yN+8TCiMm uImA== 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=mOcyVlv/1tQ+d/DF+02yxRJzaOMGoyv93rUM0jYuEJk=; b=i5HY+DYWah7k9rW+al8HiPZNs/x8U4DPHLgOeTt80WoRtG0Rwzp4MwGJ/1ORAUBQQ3 pMmAjPWNIDV5ZLHpzcJDhWiHIqa88B/SvxfksgMNbcpoehOdcgeGiBtIk93I5Htvd6sr TOyIqt2YEU3FOCaCtsbsHNkHZ5XQvR0t3ZBXIm6wnr131B32M9SM2IaPYRqZgi10zrlv t7LtjWrTMpJjlq92K9cIH+l5Vawn7JeYhaWQflxQxHjb+6SpuuLmRsXaRxOTU32u1SyB yIG2IHWYX3mugZ5rjvWh3kd7DpJkZVTFd95Wf4h4o1s96GCjLNBBd40iE4N4OkE5cL9b EHag== X-Gm-Message-State: APjAAAVIVTZ+MbunwIqPLyBLUPFEyQgUKSMypODPuGKb7R421magBlZj ZQrMReavsu+mnM7LVzc42Npg7oy2 X-Google-Smtp-Source: APXvYqyeRs37dS84kFyTj045MUXhieW/HjDVe+5SB0ZYANSJ5TFEsjlwci0OJ8tF8UhYDnMGng22fA== X-Received: by 2002:a17:902:b285:: with SMTP id u5mr22019398plr.329.1566219681109; Mon, 19 Aug 2019 06:01:21 -0700 (PDT) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id s125sm20865656pfc.133.2019.08.19.06.01.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Aug 2019 06:01:20 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Aug 2019 21:01:06 +0800 Message-Id: <1566219667-22805-4-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1566219667-22805-1-git-send-email-mypopydev@gmail.com> References: <1566219667-22805-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 4/5] lavfi/dnn/dnn_backend_native: fix memory leak in error path 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 fix memory leak in error path Signed-off-by: Jun Zhao --- libavfilter/dnn/dnn_backend_native.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_native.c b/libavfilter/dnn/dnn_backend_native.c index 7b489d0..2619463 100644 --- a/libavfilter/dnn/dnn_backend_native.c +++ b/libavfilter/dnn/dnn_backend_native.c @@ -183,6 +183,7 @@ DNNModel *ff_dnn_load_model_native(const char *model_filename) if (dnn_size > file_size || conv_params->input_num <= 0 || conv_params->output_num <= 0 || conv_params->kernel_size <= 0){ avio_closep(&model_file_context); + av_freep(&conv_params); ff_dnn_free_model_native(&model); return NULL; } @@ -190,6 +191,9 @@ DNNModel *ff_dnn_load_model_native(const char *model_filename) conv_params->biases = av_malloc(conv_params->output_num * sizeof(float)); if (!conv_params->kernel || !conv_params->biases){ avio_closep(&model_file_context); + av_freep(&conv_params->kernel); + av_freep(&conv_params->biases); + av_freep(&conv_params); ff_dnn_free_model_native(&model); return NULL; }