Commit 9a3f5ff9 authored by Max Kellermann's avatar Max Kellermann

riff, aiff: fixed "limited range" gcc warning

On 32 bit systems with large file support enabled (i.e. "sizeof(off_t) > sizeof(size_t)") gcc emits a warning because a size_t cast to off_t can never become negative.
parent a1d868eb
ver 0.15.5 (2009/??/??)
* input:
- curl: don't abort if a packet has only metadata
* tags:
- riff, aiff: fixed "limited range" gcc warning
* decoder_thread: change the fallback decoder name to "mad"
......
......@@ -84,6 +84,11 @@ aiff_seek_id3(FILE *file)
return 0;
size = GUINT32_FROM_BE(chunk.size);
if (size > G_MAXINT32)
/* too dangerous, bail out: possible integer
underflow when casting to off_t */
return 0;
if (size % 2 != 0)
/* pad byte */
++size;
......@@ -92,11 +97,6 @@ aiff_seek_id3(FILE *file)
/* found it! */
return size;
if ((off_t)size < 0)
/* integer underflow after cast to signed
type */
return 0;
ret = fseek(file, size, SEEK_CUR);
if (ret != 0)
return 0;
......
......@@ -83,6 +83,11 @@ riff_seek_id3(FILE *file)
return 0;
size = GUINT32_FROM_LE(chunk.size);
if (size > G_MAXINT32)
/* too dangerous, bail out: possible integer
underflow when casting to off_t */
return 0;
if (size % 2 != 0)
/* pad byte */
++size;
......@@ -91,11 +96,6 @@ riff_seek_id3(FILE *file)
/* found it! */
return size;
if ((off_t)size < 0)
/* integer underflow after cast to signed
type */
return 0;
ret = fseek(file, size, SEEK_CUR);
if (ret != 0)
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment