mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
Fix the wrong use of snprintf which is introduced in 1d2f619049
This commit is contained in:
parent
62d86209cf
commit
0a25a0241e
2 changed files with 5 additions and 7 deletions
|
@ -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,
|
apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
|
||||||
const char *fn, int action)
|
const char *fn, int action)
|
||||||
{
|
{
|
||||||
- int errs = 0;
|
|
||||||
+ int errs = 0, mflen = 0;
|
|
||||||
struct magic_entry *marray;
|
struct magic_entry *marray;
|
||||||
uint32_t marraycount, i, mentrycount = 0, starttest;
|
uint32_t marraycount, i, mentrycount = 0, starttest;
|
||||||
- size_t slen, files = 0, maxfiles = 0;
|
- 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) {
|
while ((d = readdir(dir)) != NULL) {
|
||||||
- if (asprintf(&mfn, "%s/%s", fn, d->d_name) < 0) {
|
- 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,
|
file_oomem(ms,
|
||||||
strlen(fn) + strlen(d->d_name) + 2);
|
strlen(fn) + strlen(d->d_name) + 2);
|
||||||
errs++;
|
errs++;
|
||||||
|
@ -379,7 +377,7 @@ diff -u libmagic.origin/apprentice.c libmagic/apprentice.c
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- filearr[files++] = mfn;
|
- filearr[files++] = mfn;
|
||||||
+ filearr[files++] = estrndup(mfn, mflen);
|
+ filearr[files++] = estrndup(mfn);
|
||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
qsort(filearr, files, sizeof(*filearr), cmpstrp);
|
qsort(filearr, files, sizeof(*filearr), cmpstrp);
|
||||||
|
|
|
@ -753,7 +753,7 @@ private int
|
||||||
apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
|
apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
|
||||||
const char *fn, int action)
|
const char *fn, int action)
|
||||||
{
|
{
|
||||||
int errs = 0, mflen = 0;
|
int errs = 0;
|
||||||
struct magic_entry *marray;
|
struct magic_entry *marray;
|
||||||
uint32_t marraycount, i, mentrycount = 0, starttest;
|
uint32_t marraycount, i, mentrycount = 0, starttest;
|
||||||
size_t files = 0, maxfiles = 0;
|
size_t files = 0, maxfiles = 0;
|
||||||
|
@ -782,7 +782,7 @@ apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
while ((d = readdir(dir)) != NULL) {
|
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,
|
file_oomem(ms,
|
||||||
strlen(fn) + strlen(d->d_name) + 2);
|
strlen(fn) + strlen(d->d_name) + 2);
|
||||||
errs++;
|
errs++;
|
||||||
|
@ -804,7 +804,7 @@ apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
filearr[files++] = estrndup(mfn, mflen);
|
filearr[files++] = estrdup(mfn);
|
||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
qsort(filearr, files, sizeof(*filearr), cmpstrp);
|
qsort(filearr, files, sizeof(*filearr), cmpstrp);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue