From 5ba01a5a45c8b9924c68c690d7c648593e17b21c Mon Sep 17 00:00:00 2001
From: James Zern <jzern@google.com>
Date: Mon, 3 Mar 2014 18:40:06 -0800
Subject: [PATCH] nestegg: quiet read related uint64->size_t warnings

ne_read_ebml_lacing / ne_read_discard_padding
+ add some asserts

Change-Id: I28d0ec5c8f901ae0a35928a8f512c51b3ecf177d
---
 third_party/nestegg/README.webm   | 1 +
 third_party/nestegg/src/nestegg.c | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/third_party/nestegg/README.webm b/third_party/nestegg/README.webm
index 042f0ff1b2..4cf2e4d220 100644
--- a/third_party/nestegg/README.webm
+++ b/third_party/nestegg/README.webm
@@ -20,3 +20,4 @@ nestegg.c|975 col 6| warning: ‘r’ may be used uninitialized in this function
 - nestegg_packet_track: fix uint64->uint32 warning
 - ne_read_(string|binary|block): normalize size_t usage
 - ne_parse: normalize size_t usage
+- quiet read related uint64->size_t warnings
diff --git a/third_party/nestegg/src/nestegg.c b/third_party/nestegg/src/nestegg.c
index 1a263125ad..124b98b3e5 100644
--- a/third_party/nestegg/src/nestegg.c
+++ b/third_party/nestegg/src/nestegg.c
@@ -1152,7 +1152,8 @@ ne_read_ebml_lacing(nestegg_io * io, size_t block, size_t * read, uint64_t n, ui
   r = ne_read_vint(io, &lace, &length);
   if (r != 1)
     return r;
-  *read += length;
+  assert(length <= 8);
+  *read += (size_t)length;
 
   sizes[i] = lace;
   sum = sizes[i];
@@ -1164,7 +1165,8 @@ ne_read_ebml_lacing(nestegg_io * io, size_t block, size_t * read, uint64_t n, ui
     r = ne_read_svint(io, &slace, &length);
     if (r != 1)
       return r;
-    *read += length;
+    assert(length <= 8);
+    *read += (size_t)length;
     sizes[i] = sizes[i - 1] + slace;
     sum += sizes[i];
     i += 1;
@@ -1408,7 +1410,8 @@ ne_read_discard_padding(nestegg * ctx, nestegg_packet * pkt)
   if (!element)
     return 1;
 
-  r = ne_read_simple(ctx, element, size);
+  assert((size_t)size == size);
+  r = ne_read_simple(ctx, element, (size_t)size);
   if (r != 1)
     return r;
   storage = (struct ebml_type *) (ctx->ancestor->data + element->offset);
-- 
GitLab