version 1.13, 2015/08/12 09:39:43 |
version 1.14, 2015/10/05 19:50:38 |
|
|
else { |
else { |
wanted = ml->indirect_offset; |
wanted = ml->indirect_offset; |
if (ml->indirect_relative) { |
if (ml->indirect_relative) { |
if (wanted < 0 && -wanted > ms->offset) |
if (wanted < 0 && (size_t)-wanted > ms->offset) |
return (0); |
return (0); |
if (wanted > 0 && ms->offset + wanted > ms->size) |
if (wanted > 0 && ms->offset + wanted > ms->size) |
return (0); |
return (0); |
|
|
} |
} |
|
|
if (ml->offset_relative) { |
if (ml->offset_relative) { |
if (wanted < 0 && -wanted > ms->offset) |
if (wanted < 0 && (size_t)-wanted > ms->offset) |
return (0); |
return (0); |
if (wanted > 0 && ms->offset + wanted > ms->size) |
if (wanted > 0 && ms->offset + wanted > ms->size) |
return (0); |
return (0); |
offset = ms->offset + wanted; |
offset = ms->offset + wanted; |
} else |
} else |
offset = wanted; |
offset = wanted; |
if (offset < 0 || offset > ms->size) |
if (offset < 0 || (size_t)offset > ms->size) |
return (0); |
return (0); |
ms->offset = offset; |
ms->offset = offset; |
|
|
|
|
if (ml->mimetype != NULL) |
if (ml->mimetype != NULL) |
ms->mimetype = ml->mimetype; |
ms->mimetype = ml->mimetype; |
|
|
magic_warn(ml, "test %s/%c matched at offset %llu: '%s'", |
magic_warn(ml, "test %s/%c matched at offset %zu: '%s'", |
ml->type_string, ml->test_operator, ms->offset, |
ml->type_string, ml->test_operator, ms->offset, |
ml->result == NULL ? "" : ml->result); |
ml->result == NULL ? "" : ml->result); |
|
|