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;
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)
break;
case FILE_REGEX:
- if (nbytes < offset)
+ if (OFFSET_OOB(nbytes, offset, 0))
return 0;
break;
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)
return rv;
case FILE_USE:
- if (nbytes < offset)
+ if (OFFSET_OOB(nbytes, offset, 0))
return 0;
rbuf = m->value.s;
if (*rbuf == '^') {
break;
default:
+ matched = 0;
file_magerror(ms, "cannot happen with float: invalid relation `%c'",
m->reln);
return -1;
break;
default:
+ matched = 0;
file_magerror(ms, "cannot happen with double: invalid relation `%c'", m->reln);
return -1;
}
break;
default:
+ matched = 0;
file_magerror(ms, "cannot happen: invalid relation `%c'",
m->reln);
return -1;