mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 17:58:20 +00:00
Fix mem leak in IfcSpfStream (not closed upon destruction), make Entity's dtor virtual.
This commit is contained in:
@@ -127,6 +127,11 @@ IfcSpfStream::IfcSpfStream(void* data, int l) {
|
||||
len = l;
|
||||
}
|
||||
|
||||
IfcSpfStream::~IfcSpfStream()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
void IfcSpfStream::Close() {
|
||||
#ifdef BUF_SIZE
|
||||
if ( paging ) fclose(stream);
|
||||
|
||||
@@ -248,7 +248,7 @@ namespace IfcParse {
|
||||
unsigned int offset;
|
||||
Entity(unsigned int i, IfcFile* t);
|
||||
Entity(unsigned int i, IfcFile* t, unsigned int o);
|
||||
~Entity();
|
||||
virtual ~Entity();
|
||||
IfcEntityList::ptr getInverse(IfcSchema::Type::Enum type, int attribute_index);
|
||||
void Load(std::vector<unsigned int>& ids, bool seek=false) const;
|
||||
Argument* getArgument (unsigned int i);
|
||||
|
||||
@@ -64,6 +64,7 @@ namespace IfcParse {
|
||||
IfcSpfStream(const std::string& fn);
|
||||
IfcSpfStream(std::istream& f, int len);
|
||||
IfcSpfStream(void* data, int len);
|
||||
~IfcSpfStream();
|
||||
/// Returns the character at the cursor
|
||||
char Peek();
|
||||
/// Returns the character at specified offset
|
||||
|
||||
Reference in New Issue
Block a user