mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-23 03:18: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;
|
delete [] this->outbuf;
|
||||||
this->outbuf = 0;
|
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);
|
delete static_cast<z_stream*>(this->zdata);
|
||||||
this->zdata = 0;
|
this->zdata = 0;
|
||||||
}
|
}
|
||||||
@ -174,6 +188,7 @@ Pl_Flate::finish()
|
|||||||
{
|
{
|
||||||
err = inflateEnd(&zstream);
|
err = inflateEnd(&zstream);
|
||||||
}
|
}
|
||||||
|
this->initialized = false;
|
||||||
checkError("End", err);
|
checkError("End", err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user