mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 19:08:59 +00:00
Fix Pl_Flate memory leak on error (fixes #148)
This commit is contained in:
parent
ad527a64f9
commit
021c229331
@ -35,6 +35,20 @@ Pl_Flate::~Pl_Flate()
|
||||
delete [] this->outbuf;
|
||||
this->outbuf = 0;
|
||||
}
|
||||
|
||||
if (this->initialized)
|
||||
{
|
||||
z_stream& zstream = *(static_cast<z_stream*>(this->zdata));
|
||||
if (action == a_deflate)
|
||||
{
|
||||
deflateEnd(&zstream);
|
||||
}
|
||||
else
|
||||
{
|
||||
inflateEnd(&zstream);
|
||||
}
|
||||
}
|
||||
|
||||
delete static_cast<z_stream*>(this->zdata);
|
||||
this->zdata = 0;
|
||||
}
|
||||
@ -174,6 +188,7 @@ Pl_Flate::finish()
|
||||
{
|
||||
err = inflateEnd(&zstream);
|
||||
}
|
||||
this->initialized = false;
|
||||
checkError("End", err);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user