nestegg: fix track_number uint64->uint32 warnings
authorJames Zern <jzern@google.com>
Sat, 1 Mar 2014 03:58:19 +0000 (19:58 -0800)
committerJames Zern <jzern@google.com>
Sat, 1 Mar 2014 03:58:19 +0000 (19:58 -0800)
ne_read_block/ne_find_cue_position_for_track/nestegg_get_cue_point
in the use of ne_map_track_number_to_index
+ add a check to ensure it doesn't exceed the type bounds

fixes:
./third_party/nestegg/src/nestegg.c|1322| warning C4244: 'function' :
conversion from 'uint64_t' to 'unsigned int', possible loss of data

Change-Id: I3703d739dcf9a2d4d8e2b704e957e5e3fd80dca0

third_party/nestegg/README.webm
third_party/nestegg/src/nestegg.c

index 4882887..9a43697 100644 (file)
@@ -15,3 +15,4 @@ Local Modifications:
   fixes:
 nestegg.c|975 col 6| warning: â€˜r’ may be used uninitialized in this function [-Wuninitialized]
 - add ne_get_uint32 convenience function
+- fix track_number uint64->uint32 warnings
index f76015a..70f0346 100644 (file)
@@ -1260,7 +1260,7 @@ ne_read_block(nestegg * ctx, uint64_t block_id, uint64_t block_size, nestegg_pac
   if (r != 1)
     return r;
 
-  if (track_number == 0)
+  if (track_number == 0 || (unsigned int)track_number != track_number)
     return -1;
 
   consumed += length;
@@ -1333,7 +1333,7 @@ ne_read_block(nestegg * ctx, uint64_t block_id, uint64_t block_size, nestegg_pac
   if (total > block_size)
     return -1;
 
-  if (ne_map_track_number_to_index(ctx, track_number, &track) != 0)
+  if (ne_map_track_number_to_index(ctx, (unsigned int)track_number, &track) != 0)
     return -1;
 
   entry = ne_find_track_entry(ctx, track);
@@ -1858,7 +1858,7 @@ nestegg_get_cue_point(nestegg * ctx, unsigned int cluster_num, int64_t max_offse
         if (ne_get_uint(pos->track, &track_number) != 0)
           return -1;
 
-        if (ne_map_track_number_to_index(ctx, track_number, &track_index) != 0)
+        if (ne_map_track_number_to_index(ctx, (unsigned int)track_number, &track_index) != 0)
           return -1;
 
         if (track_index == track) {