Use hb_parse_uint in deserializer token parser
diff --git a/src/hb-buffer-serialize.cc b/src/hb-buffer-serialize.cc
index 5f65d31..bc27f78 100644
--- a/src/hb-buffer-serialize.cc
+++ b/src/hb-buffer-serialize.cc
@@ -396,9 +396,12 @@
 static bool
 parse_uint (const char *pp, const char *end, uint32_t *pv)
 {
-  int32_t v;
-  if (!parse_int (pp, end, &v))
-    return false;
+  unsigned int v;
+  const char *p = pp;
+  if (unlikely (!hb_parse_uint (&p, end, &v))) return false;
+
+  /* Check if parser consumed all of the buffer */
+  if (unlikely (p != end)) return false;
 
   *pv = v;
   return true;