Use wider type for overflow check on LLP64 platforms like Win64, found by clang-cl...
authorReid Kleckner <reid@kleckner.net>
Thu, 26 Feb 2015 21:07:30 +0000 (21:07 +0000)
committerReid Kleckner <reid@kleckner.net>
Thu, 26 Feb 2015 21:07:30 +0000 (21:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230684 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/regcomp.c

index b79692966473dd474307c70f2210bb57f70d77ca..ebde64f9cf7512d2aa3168b66e1fa07c1b4d7823 100644 (file)
@@ -1422,7 +1422,7 @@ enlarge(struct parse *p, sopno size)
        if (p->ssize >= size)
                return;
 
-       if ((unsigned long)size > SIZE_MAX / sizeof(sop)) {
+       if ((uintptr_t)size > SIZE_MAX / sizeof(sop)) {
                SETERROR(REG_ESPACE);
                return;
        }
@@ -1443,7 +1443,7 @@ static void
 stripsnug(struct parse *p, struct re_guts *g)
 {
        g->nstates = p->slen;
-       if ((unsigned long)p->slen > SIZE_MAX / sizeof(sop)) {
+       if ((uintptr_t)p->slen > SIZE_MAX / sizeof(sop)) {
                g->strip = p->strip;
                SETERROR(REG_ESPACE);
                return;