This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new 1853c80e20 avcodec/alsdec: fix abs(INT_MIN) UB in
read_diff_float_data()
1853c80e20 is described below
commit 1853c80e20c517c094af0d12605c435b9f5f0972
Author: Priyanshu Thapliyal <[email protected]>
AuthorDate: Tue Mar 24 13:57:27 2026 +0530
Commit: michaelni <[email protected]>
CommitDate: Wed Mar 25 00:16:41 2026 +0000
avcodec/alsdec: fix abs(INT_MIN) UB in read_diff_float_data()
Replace abs() with FFABSU() to avoid undefined behavior when
raw_samples[c][i] == INT_MIN. Per libavutil/common.h, FFABS()
has the same INT_MIN UB as abs(); FFABSU() is the correct
helper as it casts to unsigned before negation.
Reported-by: Guanni Qu <[email protected]>
Signed-off-by: Priyanshu Thapliyal <[email protected]>
---
libavcodec/alsdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 09c1b8db9e..e91ff57b03 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -1560,7 +1560,7 @@ static int read_diff_float_data(ALSDecContext *ctx,
unsigned int ra_frame) {
if (ctx->raw_samples[c][i] != 0) {
//The following logic is taken from Table 14.45 and 14.46
from the ISO spec
if (av_cmp_sf_ieee754(acf[c], FLOAT_1)) {
- nbits[i] = 23 - av_log2(abs(ctx->raw_samples[c][i]));
+ nbits[i] = 23 -
av_log2(FFABSU(ctx->raw_samples[c][i]));
} else {
nbits[i] = 23;
}
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]