mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-08-19 18:56:21 -06:00
in the destructor make sure that we don't delete NULL items
This commit is contained in:
@@ -323,7 +323,8 @@ PgfLinearizer::TreeLinNode::~TreeLinNode()
|
|||||||
{
|
{
|
||||||
size_t n_fields = lin->lincat->fields.size();
|
size_t n_fields = lin->lincat->fields.size();
|
||||||
for (size_t i = 0; i < n_fields; i++) {
|
for (size_t i = 0; i < n_fields; i++) {
|
||||||
delete items[i];
|
if (items[i] != NULL)
|
||||||
|
delete items[i];
|
||||||
}
|
}
|
||||||
delete[] items;
|
delete[] items;
|
||||||
};
|
};
|
||||||
@@ -395,13 +396,6 @@ bool PgfLinearizer::TreeLindefNode::resolve(PgfLinearizer *linearizer)
|
|||||||
rule_index++;
|
rule_index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = 0; i < lincat->fields.size(); i++) {
|
|
||||||
if (items[i] == NULL) {
|
|
||||||
rule_index = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -475,10 +469,11 @@ ref<PgfConcrLincat> PgfLinearizer::TreeLindefNode::get_lincat(PgfLinearizer *lin
|
|||||||
|
|
||||||
PgfLinearizer::TreeLindefNode::~TreeLindefNode()
|
PgfLinearizer::TreeLindefNode::~TreeLindefNode()
|
||||||
{
|
{
|
||||||
if (lincat) {
|
if (lincat && items != NULL) {
|
||||||
size_t n_fields = lincat->fields.size();
|
size_t n_fields = lincat->fields.size();
|
||||||
for (size_t i = 0; i < n_fields; i++) {
|
for (size_t i = 0; i < n_fields; i++) {
|
||||||
delete items[i];
|
if (items[i] != NULL)
|
||||||
|
delete items[i];
|
||||||
}
|
}
|
||||||
delete[] items;
|
delete[] items;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user