Commit:    0a25a0241ed1c90b83d71b94a45b841e74e68c98
Author:    Xinchen Hui <larue...@php.net>         Mon, 10 Sep 2012 23:08:54 
+0800
Parents:   62d86209cf83b6b1288b0c7567ace45b5be6025b
Branches:  PHP-5.4

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=0a25a0241ed1c90b83d71b94a45b841e74e68c98

Log:
Fix the wrong use of snprintf which is introduced in 
1d2f61904987133d542c68cd349cf313d0bef1c8

Changed paths:
  M  ext/fileinfo/libmagic.patch
  M  ext/fileinfo/libmagic/apprentice.c


Diff:
diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch
index 30364fb..1fc656e 100644
--- a/ext/fileinfo/libmagic.patch
+++ b/ext/fileinfo/libmagic.patch
@@ -316,8 +316,6 @@ diff -u libmagic.origin/apprentice.c libmagic/apprentice.c
  apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t 
*nmagicp,
      const char *fn, int action)
  {
--      int errs = 0;
-+      int errs = 0, mflen = 0;
        struct magic_entry *marray;
        uint32_t marraycount, i, mentrycount = 0, starttest;
 -      size_t slen, files = 0, maxfiles = 0;
@@ -356,7 +354,7 @@ diff -u libmagic.origin/apprentice.c libmagic/apprentice.c
                }
                while ((d = readdir(dir)) != NULL) {
 -                      if (asprintf(&mfn, "%s/%s", fn, d->d_name) < 0) {
-+                      if ((mflen = snprintf(mfn, sizeof(mfn), "%s/%s", fn, 
d->d_name)) < 0) {
++                      if (snprintf(mfn, sizeof(mfn), "%s/%s", fn, d->d_name) 
< 0) {
                                file_oomem(ms,
                                    strlen(fn) + strlen(d->d_name) + 2);
                                errs++;
@@ -379,7 +377,7 @@ diff -u libmagic.origin/apprentice.c libmagic/apprentice.c
                                }
                        }
 -                      filearr[files++] = mfn;
-+                      filearr[files++] = estrndup(mfn, mflen);
++                      filearr[files++] = estrndup(mfn);
                }
                closedir(dir);
                qsort(filearr, files, sizeof(*filearr), cmpstrp);
diff --git a/ext/fileinfo/libmagic/apprentice.c 
b/ext/fileinfo/libmagic/apprentice.c
index 98bde27..f5f9939 100644
--- a/ext/fileinfo/libmagic/apprentice.c
+++ b/ext/fileinfo/libmagic/apprentice.c
@@ -753,7 +753,7 @@ private int
 apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
     const char *fn, int action)
 {
-       int errs = 0, mflen = 0;
+       int errs = 0;
        struct magic_entry *marray;
        uint32_t marraycount, i, mentrycount = 0, starttest;
        size_t files = 0, maxfiles = 0;
@@ -782,7 +782,7 @@ apprentice_load(struct magic_set *ms, struct magic 
**magicp, uint32_t *nmagicp,
                        goto out;
                }
                while ((d = readdir(dir)) != NULL) {
-                       if ((mflen = snprintf(mfn, sizeof(mfn), "%s/%s", fn, 
d->d_name)) < 0) {
+                       if (snprintf(mfn, sizeof(mfn), "%s/%s", fn, d->d_name) 
< 0) {
                                file_oomem(ms,
                                    strlen(fn) + strlen(d->d_name) + 2);
                                errs++;
@@ -804,7 +804,7 @@ apprentice_load(struct magic_set *ms, struct magic 
**magicp, uint32_t *nmagicp,
                                        goto out;
                                }
                        }
-                       filearr[files++] = estrndup(mfn, mflen);
+                       filearr[files++] = estrdup(mfn);
                }
                closedir(dir);
                qsort(filearr, files, sizeof(*filearr), cmpstrp);


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to