changeset 18106:3a34a728fa1b

always cast stream IDs to unsigned before comparing to MAX_STREAMS. just defining them as unsigned might be a better fix though...
author reimar
date Sat, 15 Apr 2006 21:09:29 +0000
parents 954eac69b532
children 24003616a623
files libmpdemux/demux_real.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_real.c	Sat Apr 15 20:50:33 2006 +0000
+++ b/libmpdemux/demux_real.c	Sat Apr 15 21:09:29 2006 +0000
@@ -162,7 +162,7 @@
     if ( mp_msg_test(MSGT_DEMUX,MSGL_V) )
 	return;
     
-    if (stream_id >= MAX_STREAMS)
+    if ((unsigned)stream_id >= MAX_STREAMS)
 	return;
 
     index = priv->index_table[stream_id];
@@ -1040,7 +1040,7 @@
 	return 1;
     }
 
-if(stream_id<MAX_STREAMS){
+if((unsigned)stream_id<MAX_STREAMS){
 
     if(demuxer->audio->id==-1 && demuxer->a_streams[stream_id]){
 	sh_audio_t *sh = demuxer->a_streams[stream_id];
@@ -1635,14 +1635,14 @@
 		    priv->is_multirate = 1;
 		    stream_skip(demuxer->stream, 4); // Length of codec data (repeated)
 		    stream_cnt = stream_read_dword(demuxer->stream); // Get number of audio or video streams
-		    if (stream_cnt >= MAX_STREAMS) {
+		    if ((unsigned)stream_cnt >= MAX_STREAMS) {
 		        mp_msg(MSGT_DEMUX,MSGL_ERR,"Too many streams in %s. Big troubles ahead.\n", mimet);
 		        goto skip_this_chunk;
 		    }
 		    for (i = 0; i < stream_cnt; i++)
 		        stream_list[i] = stream_read_word(demuxer->stream);
 		    for (i = 0; i < stream_cnt; i++)
-		        if (stream_list[i] >= MAX_STREAMS) {
+		        if ((unsigned)stream_list[i] >= MAX_STREAMS) {
 		            mp_msg(MSGT_DEMUX,MSGL_ERR,"Stream id out of range: %d. Ignored.\n", stream_list[i]);
 		            stream_skip(demuxer->stream, 4); // Skip DATA offset for broken stream
 		        } else {