mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
Fix fuzz issue 15475
This commit is contained in:
parent
94e86e2528
commit
6bc4cc3d48
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD>
|
@ -23,7 +23,7 @@ my @fuzzers = (
|
||||
['dct' => 1],
|
||||
['flate' => 1],
|
||||
['hex' => 1],
|
||||
['lzw' => 1],
|
||||
['lzw' => 2],
|
||||
['pngpredictor' => 1],
|
||||
['runlength' => 6],
|
||||
['tiffpredictor' => 1],
|
||||
|
@ -107,7 +107,7 @@ Pl_LZWDecoder::getFirstChar(unsigned int code)
|
||||
unsigned int idx = code - 258;
|
||||
if (idx >= table.size())
|
||||
{
|
||||
throw std::logic_error(
|
||||
throw std::runtime_error(
|
||||
"Pl_LZWDecoder::getFirstChar: table overflow");
|
||||
}
|
||||
Buffer& b = table.at(idx);
|
||||
@ -115,7 +115,7 @@ Pl_LZWDecoder::getFirstChar(unsigned int code)
|
||||
}
|
||||
else
|
||||
{
|
||||
throw std::logic_error(
|
||||
throw std::runtime_error(
|
||||
"Pl_LZWDecoder::getFirstChar called with invalid code (" +
|
||||
QUtil::int_to_string(code) + ")");
|
||||
}
|
||||
@ -140,7 +140,7 @@ Pl_LZWDecoder::addToTable(unsigned char next)
|
||||
unsigned int idx = this->last_code - 258;
|
||||
if (idx >= table.size())
|
||||
{
|
||||
throw std::logic_error(
|
||||
throw std::runtime_error(
|
||||
"Pl_LZWDecoder::addToTable: table overflow");
|
||||
}
|
||||
Buffer& b = table.at(idx);
|
||||
@ -149,7 +149,7 @@ Pl_LZWDecoder::addToTable(unsigned char next)
|
||||
}
|
||||
else
|
||||
{
|
||||
throw std::logic_error(
|
||||
throw std::runtime_error(
|
||||
"Pl_LZWDecoder::addToTable called with invalid code (" +
|
||||
QUtil::int_to_string(this->last_code) + ")");
|
||||
}
|
||||
@ -239,7 +239,13 @@ Pl_LZWDecoder::handleCode(unsigned int code)
|
||||
}
|
||||
else
|
||||
{
|
||||
Buffer& b = table.at(code - 258);
|
||||
unsigned int idx = code - 258;
|
||||
if (idx >= table.size())
|
||||
{
|
||||
throw std::runtime_error(
|
||||
"Pl_LZWDecoder::handleCode: table overflow");
|
||||
}
|
||||
Buffer& b = table.at(idx);
|
||||
getNext()->write(b.getBuffer(), b.getSize());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user