[Podofo-users] stack-overflow in Podofo[0.9.7]
A PDF parsing, modification and creation library.
Brought to you by:
domseichter
|
From: 默契 <bi...@gm...> - 2022-01-06 04:48:17
|
Hi guy ,I found a stack overflow in podofoxmp
[image: address.PNG]
It looks like an infinite recursion。
After analyzing the source code, I found that this was due to the following
reasons
-----------------------------------------------------------------------------------------
EPdfDataType PdfTokenizer::DetermineDataType
{
else if( pszToken[0] == '[' )
return ePdfDataType_Array;
}
PdfTokenizer::ReadDataType
{
case ePdfDataType_Array:
this->ReadArray( rVariant, pEncrypt );
}
PdfTokenizer::ReadArray
{
if( eType == ePdfTokenType_Delimiter && pszToken[0] == ']' ) //compare the
"]" symbol here
break;
this->GetNextVariant( pszToken, eType, var, pEncrypt );
}
PdfTokenizer::GetNextVariant
{
EPdfDataType eDataType = this->DetermineDataType( pszToken, eType,
rVariant );
}
--------------------------------------------------------------------------------------------
If you don't have "]", you go into recursion
[image: 010edit.PNG]
Like this!!!
the trigger sample is shown below, run the following command:
./podofoxmp id^%000000,sig^%11,src^%002118,time^%20356746,op^%havoc,rep^%32
over~
|