* Re: [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error.
[not found] <20250407181039.353242-1-tfoucu@google.com>
@ 2025-04-17 19:08 ` Thierry Foucu
2025-04-17 20:25 ` James Almer
0 siblings, 1 reply; 5+ messages in thread
From: Thierry Foucu @ 2025-04-17 19:08 UTC (permalink / raw)
To: ffmpeg-devel
On Mon, Apr 7, 2025 at 11:10 AM <tfoucu@google.com> wrote:
> From: Thierry Foucu <tfoucu@gmail.com>
>
> Make sure we are reading 16 bytes for the MD5
> ---
> libavformat/takdec.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/takdec.c b/libavformat/takdec.c
> index 21fff3fcbf..61b9f001c4 100644
> --- a/libavformat/takdec.c
> +++ b/libavformat/takdec.c
> @@ -19,6 +19,7 @@
> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> */
>
> +#include <libavutil/error.h>
> #include "libavutil/crc.h"
> #include "libavutil/mem.h"
>
> @@ -116,7 +117,9 @@ static int tak_read_header(AVFormatContext *s)
> if (size != 19)
> return AVERROR_INVALIDDATA;
> ffio_init_checksum(pb, tak_check_crc, 0xCE04B7U);
> - avio_read(pb, md5, 16);
> + if (avio_read(pb, md5, 16) != 16) {
> + return AVERROR(EIO);
> + }
> if (ffio_get_checksum(s->pb) != avio_rb24(pb)) {
> av_log(s, AV_LOG_ERROR, "MD5 metadata block CRC
> error.\n");
> if (s->error_recognition & AV_EF_EXPLODE)
> --
> 2.49.0.504.g3bcea36a83-goog
>
>
Ping?
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error.
2025-04-17 19:08 ` [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error Thierry Foucu
@ 2025-04-17 20:25 ` James Almer
2025-04-21 16:56 ` Thierry Foucu
0 siblings, 1 reply; 5+ messages in thread
From: James Almer @ 2025-04-17 20:25 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 1811 bytes --]
On 4/17/2025 4:08 PM, Thierry Foucu wrote:
> On Mon, Apr 7, 2025 at 11:10 AM <tfoucu@google.com> wrote:
>
>> From: Thierry Foucu <tfoucu@gmail.com>
>>
>> Make sure we are reading 16 bytes for the MD5
>> ---
>> libavformat/takdec.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/takdec.c b/libavformat/takdec.c
>> index 21fff3fcbf..61b9f001c4 100644
>> --- a/libavformat/takdec.c
>> +++ b/libavformat/takdec.c
>> @@ -19,6 +19,7 @@
>> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>> */
>>
>> +#include <libavutil/error.h>
>> #include "libavutil/crc.h"
>> #include "libavutil/mem.h"
>>
>> @@ -116,7 +117,9 @@ static int tak_read_header(AVFormatContext *s)
>> if (size != 19)
>> return AVERROR_INVALIDDATA;
>> ffio_init_checksum(pb, tak_check_crc, 0xCE04B7U);
>> - avio_read(pb, md5, 16);
>> + if (avio_read(pb, md5, 16) != 16) {
>> + return AVERROR(EIO);
Should be AVERROR_INVALIDDATA imo, since i means the file is just
truncated. It wasn't an error in the protocol reading data.
Will amend with that change and push. Thanks.
>> + }
>> if (ffio_get_checksum(s->pb) != avio_rb24(pb)) {
>> av_log(s, AV_LOG_ERROR, "MD5 metadata block CRC
>> error.\n");
>> if (s->error_recognition & AV_EF_EXPLODE)
>> --
>> 2.49.0.504.g3bcea36a83-goog
>>
>>
> Ping?
> _______________________________________________
> 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".
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error.
2025-04-17 20:25 ` James Almer
@ 2025-04-21 16:56 ` Thierry Foucu
2025-04-21 17:00 ` Nicolas George
0 siblings, 1 reply; 5+ messages in thread
From: Thierry Foucu @ 2025-04-21 16:56 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Thanks James
On Thu, Apr 17, 2025 at 1:25 PM James Almer <jamrial@gmail.com> wrote:
> On 4/17/2025 4:08 PM, Thierry Foucu wrote:
> > On Mon, Apr 7, 2025 at 11:10 AM <tfoucu@google.com> wrote:
> >
> >> From: Thierry Foucu <tfoucu@gmail.com>
> >>
> >> Make sure we are reading 16 bytes for the MD5
> >> ---
> >> libavformat/takdec.c | 5 ++++-
> >> 1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/libavformat/takdec.c b/libavformat/takdec.c
> >> index 21fff3fcbf..61b9f001c4 100644
> >> --- a/libavformat/takdec.c
> >> +++ b/libavformat/takdec.c
> >> @@ -19,6 +19,7 @@
> >> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> >> 02110-1301 USA
> >> */
> >>
> >> +#include <libavutil/error.h>
> >> #include "libavutil/crc.h"
> >> #include "libavutil/mem.h"
> >>
> >> @@ -116,7 +117,9 @@ static int tak_read_header(AVFormatContext *s)
> >> if (size != 19)
> >> return AVERROR_INVALIDDATA;
> >> ffio_init_checksum(pb, tak_check_crc, 0xCE04B7U);
> >> - avio_read(pb, md5, 16);
> >> + if (avio_read(pb, md5, 16) != 16) {
> >> + return AVERROR(EIO);
>
> Should be AVERROR_INVALIDDATA imo, since i means the file is just
> truncated. It wasn't an error in the protocol reading data.
>
>
Regarding the error message, I was trying to be consistent with the other
avio_read error, like here:
https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/takdec.c#L99
> Will amend with that change and push. Thanks.
>
> >> + }
> >> if (ffio_get_checksum(s->pb) != avio_rb24(pb)) {
> >> av_log(s, AV_LOG_ERROR, "MD5 metadata block CRC
> >> error.\n");
> >> if (s->error_recognition & AV_EF_EXPLODE)
> >> --
> >> 2.49.0.504.g3bcea36a83-goog
> >>
> >>
> > Ping?
> > _______________________________________________
> > 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".
>
> _______________________________________________
> 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".
>
--
Thierry Foucu
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error.
2025-04-21 16:56 ` Thierry Foucu
@ 2025-04-21 17:00 ` Nicolas George
2025-04-21 17:40 ` Thierry Foucu
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas George @ 2025-04-21 17:00 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Thierry Foucu (HE12025-04-21):
> > >> - avio_read(pb, md5, 16);
> > >> + if (avio_read(pb, md5, 16) != 16) {
> > >> + return AVERROR(EIO);
> > Should be AVERROR_INVALIDDATA imo, since i means the file is just
> > truncated. It wasn't an error in the protocol reading data.
> Regarding the error message, I was trying to be consistent with the other
> avio_read error, like here:
> https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/takdec.c#L99
Both codes are wrong: if avio_read() returns an error, it must be
returned as is, not a new error invented.
And if avio_read() returns less than requested, then I agree with James,
INVALID_DATA is more correct than EIO. In both places.
Regards,
--
Nicolas George
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error.
2025-04-21 17:00 ` Nicolas George
@ 2025-04-21 17:40 ` Thierry Foucu
0 siblings, 0 replies; 5+ messages in thread
From: Thierry Foucu @ 2025-04-21 17:40 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Mon, Apr 21, 2025 at 10:01 AM Nicolas George <george@nsup.org> wrote:
> Thierry Foucu (HE12025-04-21):
> > > >> - avio_read(pb, md5, 16);
> > > >> + if (avio_read(pb, md5, 16) != 16) {
> > > >> + return AVERROR(EIO);
> > > Should be AVERROR_INVALIDDATA imo, since i means the file is just
> > > truncated. It wasn't an error in the protocol reading data.
> > Regarding the error message, I was trying to be consistent with the other
> > avio_read error, like here:
> > https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/takdec.c#L99
>
> Both codes are wrong: if avio_read() returns an error, it must be
> returned as is, not a new error invented.
>
> And if avio_read() returns less than requested, then I agree with James,
> INVALID_DATA is more correct than EIO. In both places.
>
Thanks. This is good to know..
>
> Regards,
>
> --
> Nicolas George
> _______________________________________________
> 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".
>
--
Thierry Foucu
_______________________________________________
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".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-04-21 17:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20250407181039.353242-1-tfoucu@google.com>
2025-04-17 19:08 ` [FFmpeg-devel] [PATCH 2/2] libavformat/takdec.c: Fix msan error Thierry Foucu
2025-04-17 20:25 ` James Almer
2025-04-21 16:56 ` Thierry Foucu
2025-04-21 17:00 ` Nicolas George
2025-04-21 17:40 ` Thierry Foucu
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git