Bug 1278515 - prevent the truncation of the result from a division to integer. r?cpearce draft
authorAndi-Bogdan Postelnicu <bpostelnicu@mozilla.com>
Tue, 07 Jun 2016 14:41:05 +0300
changeset 376089 ae2fd8f0e6f5fa85ff38c1def1a89b793de8fbf0
parent 375369 3e8ee3599a67edd971770af4982ad4b0fe77f073
child 523080 1a7dfdd0faf5327e18160763ca3d9757e1491538
push id20501
push userBogdan.Postelnicu@softvision.ro
push dateTue, 07 Jun 2016 11:41:50 +0000
reviewerscpearce
bugs1278515
milestone49.0a1
Bug 1278515 - prevent the truncation of the result from a division to integer. r?cpearce MozReview-Commit-ID: ETLfsv2drRh
media/libnestegg/src/nestegg.c
--- a/media/libnestegg/src/nestegg.c
+++ b/media/libnestegg/src/nestegg.c
@@ -2072,17 +2072,17 @@ nestegg_duration(nestegg * ctx, uint64_t
   uint64_t tc_scale;
   double unscaled_duration;
 
   if (ne_get_float(ctx->segment.info.duration, &unscaled_duration) != 0)
     return -1;
 
   tc_scale = ne_get_timecode_scale(ctx);
 
-  if (unscaled_duration < 0 || unscaled_duration > UINT64_MAX / tc_scale)
+  if (unscaled_duration < 0 || unscaled_duration > UINT64_MAX / (double)tc_scale)
     return -1;
 
   *duration = (uint64_t) (unscaled_duration * tc_scale);
   return 0;
 }
 
 int
 nestegg_tstamp_scale(nestegg * ctx, uint64_t * scale)