nestegg: fix track_number uint64->uint32 warnings

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
This commit is contained in:
James Zern 2014-02-28 19:58:19 -08:00
parent d743bd04d5
commit ba159a3b0a
2 changed files with 4 additions and 3 deletions

View 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

View 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) {