From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 1/5] lavu/common.h: Fix UB in av_clipl_int32_c()
Date: Thu, 30 May 2024 21:07:13 +0200
Message-ID: <20240530190713.GB2821752@pb2> (raw)
In-Reply-To: <3421890.a5N6fE6ukZ@basile.remlab.net>
[-- Attachment #1.1: Type: text/plain, Size: 1773 bytes --]
On Thu, May 30, 2024 at 08:49:12PM +0300, Rémi Denis-Courmont wrote:
> Le torstaina 30. toukokuuta 2024, 19.48.13 EEST Tomas Härdin a écrit :
> > > > Are you saying that UB is acceptable? You know the compiler is free
> > > > to
> > > > assume signed arithmetic doesn't overflow, right? If so then what
> > > > other
> > > > UB might we accept?
> > >
> > > He did not say that... He said we should switch to a better
> > > implementation rather than trying to fix the existing potentially
> > > buggy one.
> >
> > I have a fix for demonstrable UB and Rémi is problematizing it.
>
> Andreas made cosmetic arguments against this patch before I had even seen the
> patch, forget comment on it.
>
> > It is not a "theoretical" UB - that's not how UB works.
>
> It is a *theoretical* UB if you can not prove that it leads to misbehaviour in
If the function doesnt get called with values triggering UB then its not UB.
If the function gets called with values triggering the signed overflow then its UB
And its a bug unless the applications intended behavior is undefined.
also i would not bet on that the function produces the correct output for
input values that trigger UB on every platform
The case where this really could be a problem is if its used with compile
time constants that would trigger the overflow because in these cases
the optimizer can assume the whole codepath leading to it can be
removed.
IMHO we should simply fix UB instead of arguing over how bad it could be
or when.
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety -- Benjamin Franklin
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 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".
next prev parent reply other threads:[~2024-05-30 19:08 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-29 22:13 Tomas Härdin
2024-05-29 22:13 ` [FFmpeg-devel] [PATCH 2/5] lavu/common.h: Fix UB in av_clip_intp2_c() Tomas Härdin
2024-05-29 22:24 ` Andreas Rheinhardt
2024-05-29 23:08 ` Tomas Härdin
2024-05-29 22:14 ` [FFmpeg-devel] [PATCH 3/5] lavu/common.h: Fix UB in av_clip_uintp2_c() Tomas Härdin
2024-05-31 0:27 ` Michael Niedermayer
2024-05-29 22:14 ` [FFmpeg-devel] [PATCH 4/5] lavu/intmath.h: Fix UB in ff_ctz_c() and ff_ctzll_c() Tomas Härdin
2024-05-30 7:54 ` Rémi Denis-Courmont
2024-05-30 9:50 ` Tomas Härdin
2024-05-30 12:29 ` Hendrik Leppkes
2024-05-30 13:06 ` Rémi Denis-Courmont
2024-05-30 14:03 ` Tomas Härdin
2024-05-30 14:32 ` Rémi Denis-Courmont
2024-05-31 0:43 ` Ronald S. Bultje
2024-05-31 0:41 ` Michael Niedermayer
2024-05-31 5:48 ` Rémi Denis-Courmont
2024-05-31 0:31 ` Michael Niedermayer
2024-05-29 22:15 ` [FFmpeg-devel] [PATCH 5/5] lavu/mathematics: Return early if either a or b is zero Tomas Härdin
2024-05-31 0:22 ` Michael Niedermayer
2024-05-31 15:21 ` Tomas Härdin
2024-05-29 22:31 ` [FFmpeg-devel] [PATCH 1/5] lavu/common.h: Fix UB in av_clipl_int32_c() Andreas Rheinhardt
2024-05-30 9:48 ` Tomas Härdin
2024-05-30 6:41 ` Rémi Denis-Courmont
2024-05-30 9:40 ` Tomas Härdin
2024-05-30 11:50 ` Rémi Denis-Courmont
2024-05-30 14:07 ` Tomas Härdin
2024-05-30 14:28 ` Rémi Denis-Courmont
2024-05-30 15:32 ` Tomas Härdin
2024-05-30 15:38 ` Rémi Denis-Courmont
2024-05-31 1:03 ` Michael Niedermayer
2024-06-03 7:32 ` Rémi Denis-Courmont
2024-06-03 21:21 ` Michael Niedermayer
2024-05-30 15:42 ` James Almer
2024-05-30 16:48 ` Tomas Härdin
2024-05-30 17:49 ` Rémi Denis-Courmont
2024-05-30 19:07 ` Michael Niedermayer [this message]
2024-05-30 19:20 ` Rémi Denis-Courmont
2024-05-31 15:23 ` Tomas Härdin
2024-06-14 12:31 ` Tomas Härdin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240530190713.GB2821752@pb2 \
--to=michael@niedermayer.cc \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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