restore good patch parts

This commit is contained in:
Anatol Belski 2015-03-05 22:43:41 +01:00
parent 9e3be05e32
commit 1a7798c786

View file

@ -624,11 +624,12 @@ mprint(struct magic_set *ms, struct magic *m)
t = ms->offset + sizeof(double);
break;
case FILE_SEARCH:
case FILE_REGEX: {
char *cp;
int rval;
cp = zend_strndup((const char *)ms->search.s, ms->search.rm_len);
cp = estrndup((const char *)ms->search.s, ms->search.rm_len);
if (cp == NULL) {
file_oomem(ms, ms->search.rm_len);
return -1;
@ -647,15 +648,6 @@ mprint(struct magic_set *ms, struct magic *m)
break;
}
case FILE_SEARCH:
if (file_printf(ms, F(ms, m, "%s"), m->value.s) == -1)
return -1;
if ((m->str_flags & REGEX_OFFSET_START))
t = ms->search.offset;
else
t = ms->search.offset + m->vallen;
break;
case FILE_DEFAULT:
case FILE_CLEAR:
if (file_printf(ms, "%s", m->desc) == -1)
@ -1643,7 +1635,7 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m,
break;
case FILE_REGEX:
if (nbytes < offset)
if (OFFSET_OOB(nbytes, offset, 0))
return 0;
break;
@ -1652,8 +1644,7 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m,
offset += CAST(uint32_t, o);
if (offset == 0)
return 0;
if (nbytes < offset)
if (OFFSET_OOB(nbytes, offset, 0))
return 0;
if ((pb = file_push_buffer(ms)) == NULL)
@ -1684,7 +1675,7 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m,
return rv;
case FILE_USE:
if (nbytes < offset)
if (OFFSET_OOB(nbytes, offset, 0))
return 0;
rbuf = m->value.s;
if (*rbuf == '^') {
@ -1908,6 +1899,7 @@ magiccheck(struct magic_set *ms, struct magic *m)
break;
default:
matched = 0;
file_magerror(ms, "cannot happen with float: invalid relation `%c'",
m->reln);
return -1;
@ -1941,6 +1933,7 @@ magiccheck(struct magic_set *ms, struct magic *m)
break;
default:
matched = 0;
file_magerror(ms, "cannot happen with double: invalid relation `%c'", m->reln);
return -1;
}
@ -2189,6 +2182,7 @@ magiccheck(struct magic_set *ms, struct magic *m)
break;
default:
matched = 0;
file_magerror(ms, "cannot happen: invalid relation `%c'",
m->reln);
return -1;