default:
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Unsupported compression method for RAR file");
- ret = ARCHIVE_FATAL;
+ ret = ARCHIVE_FAILED;
break;
}
return (ret);
#ifndef DONT_FAIL_ON_CRC_ERROR
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"File CRC error");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
#endif
}
rar->entry_eof = 1;
int64_t *offset, size_t looper)
{
if (looper++ > MAX_COMPRESS_DEPTH)
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
struct rar *rar;
int64_t start, end;
do {
if (!rar->valid)
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
if (rar->filters.bytes_ready > 0)
{
#ifndef DONT_FAIL_ON_CRC_ERROR
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"File CRC error");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
#endif
}
rar->entry_eof = 1;
if (rar->filters.lastend == rar->filters.filterstart)
{
if (!run_filters(a))
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
continue;
}
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Invalid symbol");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if(sym != rar->ppmd_escape)
{
* what we would do to solve it. */
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Internal error extracting RAR file");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
}
if (rar->bytes_uncopied > (rar->unp_buffer_size - rar->unp_offset))
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Truncated RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
/* Make sure ppmd7_context is freed before Ppmd7_Construct
if (rar->dictionary_size == 0) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Invalid zero dictionary size");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if (!__archive_ppmd7_functions.Ppmd7_Alloc(&rar->ppmd7_context,
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Unable to initialize PPMd range decoder");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
__archive_ppmd7_functions.Ppmd7_Init(&rar->ppmd7_context, maxorder);
rar->ppmd_valid = 1;
if (!rar->ppmd_valid) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Invalid PPMd sequence");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if (!__archive_ppmd7_functions.PpmdRAR_RangeDec_Init(&rar->range_dec))
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Unable to initialize PPMd range decoder");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
}
}
if ((val = read_next_symbol(a, &precode)) < 0) {
free(precode.tree);
free(precode.table);
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if (val < 16)
{
free(precode.table);
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Internal error extracting RAR file");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if(val == 16) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Truncated RAR file data");
rar->valid = 0;
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
static void
{
if (lengths[j] != i) continue;
if (add_value(a, code, j, codebits, i) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
codebits++;
if (--symbolsleft <= 0)
break;
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Prefix found");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
/*
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Truncated RAR file data");
rar->valid = 0;
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
bad_data:
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Bad RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
static int
if (length > lzss_size(&rar->lzss)) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Bad RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if (firstpart < 0) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Bad RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if (firstpart < length) {
memcpy(buffer, &rar->lzss.window[windowoffs], firstpart);
if (firstpart < 0) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Bad RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
if ((size_t)firstpart < length) {
memcpy(&rar->unp_buffer[rar->unp_offset],
fatal:
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Bad RAR file data");
- return (ARCHIVE_FATAL);
+ return (ARCHIVE_FAILED);
}
static const void *