Don't use SIZE_MAX macro, as it is not in C89.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Mon, 2 Jun 2014 18:09:06 +0000 (21:09 +0300)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Mon, 2 Jun 2014 18:09:06 +0000 (21:09 +0300)
Update issue 120
Status: FixedInGit

pb_decode.c

index d687cee..8b782a6 100644 (file)
@@ -487,7 +487,8 @@ static bool checkreturn allocate_field(pb_istream_t *stream, void *pData, size_t
         const size_t check_limit = (size_t)1 << (sizeof(size_t) * 4);
         if (data_size >= check_limit || array_size >= check_limit)
         {
-            if (SIZE_MAX / array_size < data_size)
+            const size_t size_max = (size_t)-1;
+            if (size_max / array_size < data_size)
             {
                 PB_RETURN_ERROR(stream, "size too large");
             }