]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fixed infinite loop caused by 64 bit cleansing change (int to size_t means signed...
authorRobert Joly <rjoly@nortel.com>
Sun, 17 Aug 2008 23:08:10 +0000 (23:08 +0000)
committerRobert Joly <rjoly@nortel.com>
Sun, 17 Aug 2008 23:08:10 +0000 (23:08 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9315 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_xml.c

index a97e9203e55d8f3348680f9fc92f64a68b2efcb1..5ed5f1075932efa251f5498e59a54af9a7696f5f 100644 (file)
@@ -2551,7 +2551,7 @@ static int globextend(const char *path, glob_t *pglob, size_t *limit)
        size_t newsize, len;
        const char *p;
        
-       if (*limit && pglob->gl_pathc > (unsigned int)(*limit)) {
+       if (*limit && pglob->gl_pathc > *limit) {
                errno = 0;
                return (GLOB_NOSPACE);
        }
@@ -2571,7 +2571,7 @@ static int globextend(const char *path, glob_t *pglob, size_t *limit)
        if (pglob->gl_pathv == NULL && pglob->gl_offs > 0) {
                /* first time around -- clear initial gl_offs items */
                pathv += pglob->gl_offs;
-               for (i = pglob->gl_offs; --i >= 0; )
+               for (i = pglob->gl_offs; i-- > 0; )
                        *--pathv = NULL;
        }
        pglob->gl_pathv = pathv;