ref: bc3dcac66196d162c4e88e3113c6813efe61e7fa
parent: 4b3c9c792fabbc3a585dddf1cbebd582cf81b53d
author: Mark Harris <mark.hsj@gmail.com>
date: Sat Sep 4 08:07:51 EDT 2021
opusinfo: Fix signed shift undefined behavior
--- a/src/opusinfo.c
+++ b/src/opusinfo.c
@@ -101,7 +101,7 @@
}
#define READ_U32_BE(buf) \
- (((buf)[0]<<24)|((buf)[1]<<16)|((buf)[2]<<8)|((buf)[3]&0xff))
+ (((ogg_uint32_t)(buf)[0]<<24)|((buf)[1]<<16)|((buf)[2]<<8)|(buf)[3])
void check_xiph_comment(stream_processor *stream, int i, const char *comment,
int comment_length)
--- a/src/picture.c
+++ b/src/picture.c
@@ -51,7 +51,7 @@
}
#define READ_U32_BE(buf) \
- (((buf)[0]<<24)|((buf)[1]<<16)|((buf)[2]<<8)|((buf)[3]&0xff))
+ (((ogg_uint32_t)(buf)[0]<<24)|((buf)[1]<<16)|((buf)[2]<<8)|(buf)[3])
/*Tries to extract the width, height, bits per pixel, and palette size of a
PNG.