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 22FD34A494 for ; Tue, 30 Apr 2024 21:27:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8642768D601; Wed, 1 May 2024 00:27:35 +0300 (EEST) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9913668D422 for ; Wed, 1 May 2024 00:27:28 +0300 (EEST) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6ecff9df447so6040614b3a.1 for ; Tue, 30 Apr 2024 14:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714512446; x=1715117246; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=I7/dkjSrGmFxbXPYwSDmaJOv1bSWx6Z9RWIL88irZpk=; b=ZgSnPMGDCN8UdGhFvb+HMwiK5KEDXhkLqaCbWFc2OWAWJXikSHUavIBC1uW/3LyJDk 8JWNymcbO5cNuuM+1AgDon8Q9OueWzDELsKFZcc91bxXVeUyrXaBCo2jwLYSeFUziUo9 eP058u/6DOSQUXIkVYU6ICu/fAeSQqc83ulz9HRdXhkmY9TXXwu75wRJrvBYDhWW6vkw MwTm8ADIFqlQjyr9c5FQNlEkQUezFX/4d7/82XliaBNx/ANHJgn+bl2R9MVNidA9CrlE BUbbKEH4EwyDgEOqF7Aoek//ge26PM2cYxPzlKLP1fpXNMhGfkU9emOendUQAqfAvqku /07Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714512446; x=1715117246; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I7/dkjSrGmFxbXPYwSDmaJOv1bSWx6Z9RWIL88irZpk=; b=inQ6XbSGlZOba2n9Su1xl+Vqtn66KBt43fWZ1GXSJjf6AITYs7E2lOOW+cOVk7w6VA BqrwQkVp7D0egBPJYI0DEmfGj8txy3qetooA3K9REApGhQP27/Nf3uJGPBwArJxXJK6I UAzboGtBNpjvSEodbyOjhhRUlcXc+zOxkZioSQMu/rdmmvULzQT+Ixe/Nvt6Ewn8I0FA jVjleAVYTiEO9DJnr38kJy+NuEhOU/k5PeDM3L1KGOkeq0EkkCSuba2gWpdFmbCbCa07 Znoidfdd55Bw3F2hy8IerCwj/f6K5yTP2GUa+K1MlcTiSQRoJ5tZDBdBDbqOTRtkO6yf k4Bg== X-Gm-Message-State: AOJu0YyZEXVMO5yAuQ5Ck9PRE0DQPACFfhAy7ldmrdZv1BSXwR7voVr3 v2mMT30C7QlkDXPO1D8h+7/oiOIKh7sy2jG8mNuixzwTCpKjnBhVMNfroQ== X-Google-Smtp-Source: AGHT+IFwe4laNR+tQwrMEPkhW/qeLZ1uErIAI3HvwogqFcMkhZIK5+tW3JKLF9ys/0c+YEUg3AevfQ== X-Received: by 2002:a05:6a20:de89:b0:1ae:3812:945e with SMTP id la9-20020a056a20de8900b001ae3812945emr997915pzb.62.1714512445821; Tue, 30 Apr 2024 14:27:25 -0700 (PDT) Received: from [192.168.0.10] ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id o9-20020a17090aac0900b002ad059491f6sm53912pjq.5.2024.04.30.14.27.24 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 30 Apr 2024 14:27:25 -0700 (PDT) Message-ID: <1a2550a7-4881-4d0d-a553-1b4693907f77@gmail.com> Date: Tue, 30 Apr 2024 18:27:23 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240430004854.199741-1-michael@niedermayer.cc> <20240430004854.199741-3-michael@niedermayer.cc> Content-Language: en-US From: James Almer In-Reply-To: <20240430004854.199741-3-michael@niedermayer.cc> Subject: Re: [FFmpeg-devel] [PATCH 3/3] avutil/opt: Preserve nb_channels in opt_free 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 4/29/2024 9:48 PM, Michael Niedermayer wrote: > Fixes: division by 0 > Fixes: decoder modifying demuxer channels on failure > Fixes: -sseof -5 -i zgclab/ffmpeg_crash/poc3 > > Found-by: Wang Dawei and Zhou Geng, from Zhongguancun Laboratory > Signed-off-by: Michael Niedermayer > --- > libavutil/opt.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libavutil/opt.c b/libavutil/opt.c > index ecbf7efe5fb..24c08e4bc06 100644 > --- a/libavutil/opt.c > +++ b/libavutil/opt.c > @@ -132,9 +132,11 @@ static void opt_free_elem(const AVOption *o, void *ptr) > av_dict_free((AVDictionary **)ptr); > break; > > - case AV_OPT_TYPE_CHLAYOUT: > + case AV_OPT_TYPE_CHLAYOUT: { > + int nb_channels = ((AVChannelLayout *)ptr)->nb_channels; > av_channel_layout_uninit((AVChannelLayout *)ptr); > - break; > + ((AVChannelLayout *)ptr)->nb_channels = nb_channels; > + break;} > > default: > break; A little bit of context would be helpful here. What's using nb_channels after av_opt_free was called and where? _______________________________________________ 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".