From patchwork Tue Oct 15 17:36:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 15775 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 D38354488DE for ; Tue, 15 Oct 2019 20:36:32 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B69A86898D8; Tue, 15 Oct 2019 20:36:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 810D5689248 for ; Tue, 15 Oct 2019 20:36:26 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id j11so24916336wrp.1 for ; Tue, 15 Oct 2019 10:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=OdHGaRGEjR0ZcozfduLmz08S8zzshYIhSup5zBP96Tw=; b=AQ9ULDgUsNDUq20EXwfsgfMt5H8sppJg3Q3jhWzEEoOhT84fCue0l4zR+d8MSW29yW Is0gCZBhdQ6/rzbdPBSUBcL1HfF15w0LJiYAoaqiGIeIZw/lQokMqPRIktEHhhdxnxBL L3LF7dcI7H92aEzKRzQhLjdQ2wOYN6m0tGU6mkoagTuhu8mTsi3y0O9fX7HnO7FOKU/G GG9Ll5Q9a82d1LmKwuQ1mMjzWwNYj0QY2ASdQq+cKoNIXiVA3qFJfBczTOXR1of8QcaN aCJs+P3pv4BgQErdxAdxvJpbrfl4fprLcBXiobBGy58pNhw5Yih53j0tzC9TZJH5nB0z 57CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=OdHGaRGEjR0ZcozfduLmz08S8zzshYIhSup5zBP96Tw=; b=DHmW+qefFO8d9Y4AMVjWVngooz2KbH7QPRCTiuxI/GcyI/O9mliPRdkbMFVgZ1lRmE JUNVp4Odg8hZbxrp0B7pUa2SPYTH20WdWhm6y5snKxLAPzjVPiqqoMWroK/JOgbVP1VQ dVrK5rnjp6jt+yXbd7EXkE+C3Pk87cnYMFKvvl8hkSvQ0XyS+DfZAO71XiounWI8f6fG M/tqCmd9OENOrKAVoAkV+fG0+kz7mfnd9m68ThE5XAsTiUcgJD1mTsczTGJxZ4TaEY3i /YQDylD2HKWZAJtDVmsCG4+Ub2NAMeursGzsrShK8c8JspkiTJtg1NeCWFAvjLUNgAZ7 DMyg== X-Gm-Message-State: APjAAAX4DNu7MGfyeCbGiWHm3/HFl5iT6tcqnbg3qszGxqjoY8NiFlpb ffU3iis/iKlLKIns9e9R5WVVVXz0 X-Google-Smtp-Source: APXvYqyZA5r3lnleUJHqyVoafBm0ggNiyed1UC4oH2B98I1uZjpCjLeOPzVWn5CibePPhqlBkfAqNA== X-Received: by 2002:adf:dbd2:: with SMTP id e18mr18514318wrj.268.1571160985703; Tue, 15 Oct 2019 10:36:25 -0700 (PDT) Received: from localhost.localdomain ([212.15.160.218]) by smtp.gmail.com with ESMTPSA id q19sm45596123wra.89.2019.10.15.10.36.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2019 10:36:25 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Tue, 15 Oct 2019 19:36:15 +0200 Message-Id: <20191015173615.29800-1-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] avcodec/frame_thread_encoder: fix memleak on error 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes #8281 Signed-off-by: Paul B Mahol --- libavcodec/frame_thread_encoder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c index 949bc69f81..ffee242b76 100644 --- a/libavcodec/frame_thread_encoder.c +++ b/libavcodec/frame_thread_encoder.c @@ -116,6 +116,7 @@ end: int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){ int i=0; + AVCodecContext *thread_avctx = NULL; ThreadContext *c; @@ -195,7 +196,7 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){ AVDictionary *tmp = NULL; int ret; void *tmpv; - AVCodecContext *thread_avctx = avcodec_alloc_context3(avctx->codec); + thread_avctx = avcodec_alloc_context3(avctx->codec); if(!thread_avctx) goto fail; tmpv = thread_avctx->priv_data; @@ -236,6 +237,7 @@ fail: avctx->thread_count = i; av_log(avctx, AV_LOG_ERROR, "ff_frame_thread_encoder_init failed\n"); ff_frame_thread_encoder_free(avctx); + avcodec_free_context(&thread_avctx); return -1; }