From patchwork Mon Mar 12 06:30:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danil Iashchenko X-Patchwork-Id: 7941 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp1255366jad; Sun, 11 Mar 2018 23:32:19 -0700 (PDT) X-Google-Smtp-Source: AG47ELsNhRbWAar4e1lnXpH6OSk/Vp+JHC/2HvmVujWCjqV/3CbEug7suYVscsICn0yDJ+UekJJD X-Received: by 10.28.230.68 with SMTP id d65mr4953828wmh.13.1520836339219; Sun, 11 Mar 2018 23:32:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520836339; cv=none; d=google.com; s=arc-20160816; b=tKLAnRja0DZX+HSgEgRkVD6otXHm2KuyUGQTTptUARD/EQaHqjkWq1pn19ZPdNXNpq J7dssbGPnGjhCCeDqvhlCrcJxcZZjbcnDXZT/Fwt/Wu0P7/ZMqVhQoCBvQmeEijS+MAe dtZcneZXb2Z8V02AHMNUC3F7oUV59aKU3tl4/UByGORoxfgUUW3DSrZyJ/7JSUI5vgvL h4DLEspQO2SXtRyyahoIRkZO0tlJGmMLectENQhoXkq/qRg0vIZWx63hjclUl7EM4v3O 2gks3uwcOQlu6qZh5u+FbmpWkiTVhNaxcpdNTEg0DyMiajETBwpI/ouWxUYMTWbLYbOr Qkug== 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:arc-authentication-results; bh=/lFxO7LDMvjbeuvHfzxDGMBdRm8qhM1UEmK5iWGRHzI=; b=0wSCX/3yThIZwBgkoZtTxVLKxtw39Mda2FsPSsTPR7xOyoNVaUk439TaFvUPRCwrrs tURFVmwqipr0VD7uGvC89VIZ3Qn2/avhzDjL31+rsr8AEz0ZBOibTuZGykdbPc2J5d3s HbYygE+A4z3/L+efvjnYgOpNg96fHSoGHUzcSg+g7RhYT0xkUMg2gES5sgi/lzDZIos3 vJTdr2H9pIsbc0r03kMWyH6QpHiiBiURuHbAh9uBZjuznWzw0d62tQi53sBquVDA0jiz O/RJcWnd48T1LnjksEni4Z/CxhuGhx4wjQyzNL2NXVXIxxtZjX6LEGtfLn97gxgrxBu0 zoGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=miN8eimm; 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 10si2737664wmn.25.2018.03.11.23.32.17; Sun, 11 Mar 2018 23:32:19 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=miN8eimm; 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 B809168A0B4; Mon, 12 Mar 2018 08:32:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9EA38689C3F for ; Mon, 12 Mar 2018 08:31:58 +0200 (EET) Received: by mail-lf0-f67.google.com with SMTP id x205-v6so3143614lfa.0 for ; Sun, 11 Mar 2018 23:32:09 -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=xcd4Q0G9wX8y8jPEaDrb5wcUfTmKbrLiOEiJXdFZj8c=; b=miN8eimm829WLWEVsKakkrNQStH4XSp6MUywjpXPHaNZ2r2hQp/CtPeMNtKQ6elOG1 egaLjMPnA6+/hWjSzn0zX+aKvvto3HRYDO2PJ8UBa0/yE9+aUi/y4didfSP8ximRF2yw LMQTP7LXYhU7EQwGEly1FwMu1MTpXFmKPhQeZjTRPVIHGWnHhku9ElXJlTjlu1gszYEs m0U7b6F4x6Fufh3g4XRQaLKI6Cx+TVxP7BwzIGNkKR5XNErW4bcwr1wdEU/a3bPiMq3N dkKob8ZQecnX6dUW19qSBc60F7vLIT58qhuMeld4/kR1niKAarL/zKUrJvpDsspmBYaA 3e6Q== 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=xcd4Q0G9wX8y8jPEaDrb5wcUfTmKbrLiOEiJXdFZj8c=; b=gP1ezmQWwLWKjiYOPxdgIA14W85EEEh1SapZx1ZXuJJIiglndax3weEZMmorJInjgD rCd1V0Cn4hHEzy3RYByJkUHn+XV53r1a21X4mzeBkX/mjz+E6zReIiAnJmqyKUE20v0X mWoTzCMI0+8fh3ZmUy/h7LG0Zy8eTHYj7MIOotlxAt5Q0DdWiDKyC9qoCAkc3vaQguzt MVQ5drFqDd840AtOQAmDzUYucoYuccMAPARCKElZJ+I/tazf6f5mOdwPF42/5aeks5Xx t1o8s+Yd9hIp5BM1+wn9nKmJIL3Qo/bAsYgNOAx7roWjTJAUd0AhWQ39N9HEakDP7oQm R1JQ== X-Gm-Message-State: AElRT7EaYBHsLg1Be/uS8kAAa62hVZ3YJo+NdZ7YC4t802o7myXjV+O/ +hITZTA6nWcdwRBnPuXxMxc9LjA= X-Received: by 2002:a19:dd89:: with SMTP id w9-v6mr2160414lfi.82.1520836328098; Sun, 11 Mar 2018 23:32:08 -0700 (PDT) Received: from dan-acer.lan (campus.ifmo.ru. [194.85.161.2]) by smtp.gmail.com with ESMTPSA id x13sm1548575ljd.6.2018.03.11.23.32.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 11 Mar 2018 23:32:07 -0700 (PDT) From: Danil Iashchenko To: ffmpeg-devel@ffmpeg.org Date: Mon, 12 Mar 2018 09:30:55 +0300 Message-Id: <1520836255-9581-1-git-send-email-danyaschenko@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1520799566-5548-2-git-send-email-danyaschenko@gmail.com> References: <1520799566-5548-2-git-send-email-danyaschenko@gmail.com> Subject: [FFmpeg-devel] [PATCH] fix mem-leak 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: Danil Iashchenko MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavfilter/vf_convolution_opencl.c | 39 ++++++++++++++----------------------- 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/libavfilter/vf_convolution_opencl.c b/libavfilter/vf_convolution_opencl.c index 60e2d1f..a14005b 100644 --- a/libavfilter/vf_convolution_opencl.c +++ b/libavfilter/vf_convolution_opencl.c @@ -139,7 +139,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) matrix = av_malloc(matrix_bytes); if (!matrix) { err = AVERROR(ENOMEM); - goto fail; + goto fail_matrix; } cnt = 0; for (i = 0; i < 4; i++) { @@ -157,7 +157,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) av_log(avctx, AV_LOG_ERROR, "Failed to create matrix buffer: " "%d.\n", cle); err = AVERROR(EIO); - goto fail; + goto fail_matrix; } ctx->matrix = buffer; @@ -166,8 +166,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) matrix_rdiv = av_malloc(matrix_bytes); if (!matrix_rdiv) { err = AVERROR(ENOMEM); - av_freep(&matrix_rdiv); - goto fail; + goto fail_rdiv; } for (j = 0; j < 4; j++) { @@ -182,8 +181,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) av_log(avctx, AV_LOG_ERROR, "Failed to create rdiv buffer: " "%d.\n", cle); err = AVERROR(EIO); - av_freep(&matrix_rdiv); - goto fail; + goto fail_rdiv; } ctx->rdiv_buffer = buffer_rdiv; @@ -192,9 +190,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) matrix_bias = av_malloc(matrix_bytes); if (!matrix_bias) { err = AVERROR(ENOMEM); - av_freep(&matrix_rdiv); - av_freep(&matrix_bias); - goto fail; + goto fail_bias; } for (j = 0; j < 4; j++) { @@ -209,9 +205,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) av_log(avctx, AV_LOG_ERROR, "Failed to create bias buffer: " "%d.\n", cle); err = AVERROR(EIO); - av_freep(&matrix_rdiv); - av_freep(&matrix_bias); - goto fail; + goto fail_bias; } ctx->bias_buffer = buffer_bias; @@ -219,10 +213,7 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) matrix_size = av_malloc(matrix_bytes); if (!matrix_size) { err = AVERROR(ENOMEM); - av_freep(&matrix_rdiv); - av_freep(&matrix_bias); - av_freep(&matrix_size); - goto fail; + goto fail_size; } for (j = 0; j < 4; j++) { @@ -237,18 +228,18 @@ static int convolution_opencl_make_filter_params(AVFilterContext *avctx) av_log(avctx, AV_LOG_ERROR, "Failed to create bias buffer: " "%d.\n", cle); err = AVERROR(EIO); - av_freep(&matrix_rdiv); - av_freep(&matrix_bias); - av_freep(&matrix_size); - goto fail; + goto fail_size; } ctx->size_buffer = buffer_size; - - - err = 0; -fail: +fail_size: + av_freep(&matrix_size); +fail_bias: + av_freep(&matrix_bias); +fail_rdiv: + av_freep(&matrix_rdiv); +fail_matrix: av_freep(&matrix); return err; }