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 7E5CD420E1 for ; Tue, 22 Feb 2022 16:30:37 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5D58C68B0B9; Tue, 22 Feb 2022 18:30:34 +0200 (EET) Received: from relay11.mail.gandi.net (relay11.mail.gandi.net [217.70.178.231]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B198968A76A for ; Tue, 22 Feb 2022 18:30:27 +0200 (EET) Received: from localhost (213-47-68-29.cable.dynamic.surfer.at [213.47.68.29]) (Authenticated sender: michael@niedermayer.cc) by mail.gandi.net (Postfix) with ESMTPSA id 725F5100008 for ; Tue, 22 Feb 2022 16:30:26 +0000 (UTC) Date: Tue, 22 Feb 2022 17:30:25 +0100 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20220222163025.GB2829255@pb2> References: <20220222024151.2469927-1-jiasheng@iscas.ac.cn> MIME-Version: 1.0 In-Reply-To: <20220222024151.2469927-1-jiasheng@iscas.ac.cn> Subject: Re: [FFmpeg-devel] [PATCH v3] avformat/nutdec: Add check for avformat_new_stream 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: multipart/mixed; boundary="===============2270893884134355682==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============2270893884134355682== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="SDE3ofN23+/6bYSp" Content-Disposition: inline --SDE3ofN23+/6bYSp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Feb 22, 2022 at 10:41:51AM +0800, Jiasheng Jiang wrote: > As the potential failure of the memory allocation, > the avformat_new_stream() could return NULL pointer. > Therefore, it should be better to check it and return > error if fails. > Also, the caller, nut_read_header(), needs to deal with > the return value of the decode_main_header() and return > error if memory allocation fails. > And 'time_base_count' has already checked and it > will return AVERROR_INVALIDDATA if fails, which is different > from ENOMEM. >=20 > Fixes: 619d8e2e58 ("updating nut demuxer to latest spec no muxing yet no = index yet no seeking yet libnuts crcs dont match mine (didnt investigate ye= t) samplerate is stored wrong by libnut (demuxer has a workaround) code is = not clean or beautifull yet, but i thought its better to commit early befor= e someone unneccesarily wastes his time duplicating the work demuxer split = =66rom muxer") >=20 > Signed-off-by: Jiasheng Jiang > --- > Changelog: >=20 > v1 -> v2 >=20 > * Change 1. Add the error handling for ENOMEM from decode_main_header() > in nut_read_header(). > * Change 2. Check for the 'time_base_count'. >=20 > v2 -> v3 >=20 > * Change 1. Remove the check for 'time_base_count'. > * Change 2. Change the av_free to av_freep. > --- > libavformat/nutdec.c | 17 +++++++++++++---- > 1 file changed, 13 insertions(+), 4 deletions(-) >=20 > diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c > index 0a8a700acf..32a4f6bbcb 100644 > --- a/libavformat/nutdec.c > +++ b/libavformat/nutdec.c > @@ -351,8 +351,13 @@ static int decode_main_header(NUTContext *nut) > ret =3D AVERROR(ENOMEM); > goto fail; > } > - for (i =3D 0; i < stream_count; i++) > - avformat_new_stream(s, NULL); > + for (i =3D 0; i < stream_count; i++) { > + if (!avformat_new_stream(s, NULL)) { > + av_freep(nut->stream); is this actually needed or isnt this freed anyway ? also if needed thats the wrong pointer=20 av_freep(&nut->stream) [...] thx --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In fact, the RIAA has been known to suggest that students drop out of college or go to community college in order to be able to afford settlements. -- The RIAA --SDE3ofN23+/6bYSp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABEIAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCYhUPnQAKCRBhHseHBAsP qwL3AJ9pXEB4aM3/Bk80bRT0dYOfyDp46wCaA2VtofiguXqIOQWiGQ+M/a1UVlM= =xd2m -----END PGP SIGNATURE----- --SDE3ofN23+/6bYSp-- --===============2270893884134355682== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --===============2270893884134355682==--