From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D3A8948F95 for ; Wed, 1 May 2024 19:02:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EAD0B68D728; Wed, 1 May 2024 22:02:18 +0300 (EEST) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A59CF68D669 for ; Wed, 1 May 2024 22:02:12 +0300 (EEST) Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-6ee13f19e7eso6573303b3a.1 for ; Wed, 01 May 2024 12:02:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714590130; x=1715194930; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=uRrinSjO7GUeiFRXWyD2IYlRFMmXxI0tG33SD9uqqJY=; b=EBQsUXsdLdazPEnyT3utGmyC1snog8R/zg7SMlS4Lc0sNlMNOqCnaRu6jOuWUI/3qY hwvpcSjHvcCD3En7ONV/JklP090kfbDTfznk1XjEnsNbnfxQQPW3YrqD8OLwJqSUiP0b uHHkuM19UNc8iFmEqm8qVifroPAZdugFAPZuoyF9rVDoIqdTDTntpMLC0j2ivfW8EQR+ AqFAI6GsEVqeDdPL3YmbV6dCxvefQjyFjAtSDFXKchGrEEb3IUuUDUM9Pf0qE29KlCB4 ZLU3acpfTlw7Zq6BTEy05nUBTXBZi9bC83MQeKkrtWD/jLP8/hVhFUQlXWFN57hUhiHJ +hcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714590130; x=1715194930; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uRrinSjO7GUeiFRXWyD2IYlRFMmXxI0tG33SD9uqqJY=; b=EuJMsGeAiZK50V9LOe+O4Viwt8NsgmHtSZQ++KXIBBSt/WHGvUp027pmKiXsoRHLTo 6lE7ok5WU3mWhVknW9O85HBwKr+aBXqmpGfAnf7gO4TF1gNYKMnPXtimhQUVjX8IOn36 gf8ENDQwjKZRsz84W36Rg5i0rvx274BuBFBzGU/8SnGM+4lvKFdZUo8X1hJ6/kSCnklS zjNFUP0MeB42HGQdh9LLUGabg/0+TB0f2bsi0u7pcy1D/gS5SKlNk9JQLM9HBfu99jDm VM/lxfnEDajt3Boug9PWn6ds5PuROaPGXyTHKAAng6BjRwt9KvVtkfPjvnLZXLkYlALP T86w== X-Gm-Message-State: AOJu0YwNOfG/nm05O6QzaVOhGJhFg6tvcBj4Zpdm6aLwpRKKMTq8uHyT zhGluJVFYZ2hoyN/suHOZhI/rZaGoyZUHtWuMfQODRu63DduOpWc203z5g== X-Google-Smtp-Source: AGHT+IHbGP583B2vtOqryj8PvUPv2QYU//eDn2IWkAaNX7szFkfn0VUEcdlqDYLFfBU4agXjbEOV0A== X-Received: by 2002:a05:6a21:3e01:b0:1ad:47c1:7a53 with SMTP id bk1-20020a056a213e0100b001ad47c17a53mr3554019pzc.54.1714590129714; Wed, 01 May 2024 12:02:09 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id g14-20020a62f94e000000b006f2d97c3e87sm16867184pfm.125.2024.05.01.12.02.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 May 2024 12:02:09 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 May 2024 16:01:54 -0300 Message-ID: <20240501190156.36095-1-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/avcodec: prevent ch_layout from being uninitialized in ff_codec_close() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: It's a user-set parameter shared with AVCodecParameters, so it should only be freed by avcodec_free_context(). Signed-off-by: James Almer --- libavcodec/avcodec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 888dd76228..fc8a40e4db 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -414,6 +414,7 @@ void avsubtitle_free(AVSubtitle *sub) av_cold void ff_codec_close(AVCodecContext *avctx) { + AVChannelLayout ch_layout; int i; if (!avctx) @@ -468,7 +469,13 @@ av_cold void ff_codec_close(AVCodecContext *avctx) if (avctx->priv_data && avctx->codec && avctx->codec->priv_class) av_opt_free(avctx->priv_data); + + // Work around av_opt_free() unsetting ch_layout + ch_layout = avctx->ch_layout; + memset(&avctx->ch_layout, 0, sizeof(avctx->ch_layout)); av_opt_free(avctx); + avctx->ch_layout = ch_layout; + av_freep(&avctx->priv_data); if (av_codec_is_encoder(avctx->codec)) { av_freep(&avctx->extradata); -- 2.44.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".