sys-file-reader: Fix confusion of types between size_t and unsigned int.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 17 Feb 2014 23:28:29 +0000 (15:28 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 18 Feb 2014 02:00:37 +0000 (18:00 -0800)
Reported by Clang.

src/data/sys-file-reader.c

index a93f75fa77ad08dda9b4adc332f6d8ff131224cb..ef8950be62967c6d245bc00e221f6d741a60ccf6 100644 (file)
@@ -160,8 +160,8 @@ struct sfm_extension_record
   {
     int subtype;                /* Record subtype. */
     off_t pos;                  /* Starting offset in file. */
-    size_t size;                /* Size of data elements. */
-    size_t count;               /* Number of data elements. */
+    unsigned int size;          /* Size of data elements. */
+    unsigned int count;         /* Number of data elements. */
     void *data;                 /* Contents. */
   };
 
@@ -1141,7 +1141,7 @@ read_value_label_record (struct sfm_reader *r,
   record->pos = r->pos;
   if (!read_uint (r, &record->n_labels))
     return false;
-  if (record->n_labels > SIZE_MAX / sizeof *record->labels)
+  if (record->n_labels > UINT_MAX / sizeof *record->labels)
     {
       sys_error (r, r->pos - 4, _("Invalid number of labels %zu."),
                  record->n_labels);