Skip to content

Commit 7065502

Browse files
authored
Merge pull request #2212 from mgreter/bugfix/issue-2211
Fix memory leak (use new memory allocation macro)
2 parents aca9ee8 + 1007072 commit 7065502

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/ast.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,22 +1054,22 @@ namespace Sass {
10541054
size_t i = 0, L = h->length();
10551055
if (dynamic_cast<Element_Selector*>(h->first())) {
10561056
if (Class_Selector* sq = dynamic_cast<Class_Selector*>(rh->last())) {
1057-
Class_Selector* sqs = new Class_Selector(*sq);
1057+
Class_Selector* sqs = SASS_MEMORY_NEW(ctx.mem, Class_Selector, *sq);
10581058
sqs->name(sqs->name() + (*h)[0]->name());
10591059
(*rh)[rh->length()-1] = sqs;
10601060
for (i = 1; i < L; ++i) *rh << (*h)[i];
10611061
} else if (Id_Selector* sq = dynamic_cast<Id_Selector*>(rh->last())) {
1062-
Id_Selector* sqs = new Id_Selector(*sq);
1062+
Id_Selector* sqs = SASS_MEMORY_NEW(ctx.mem, Id_Selector, *sq);
10631063
sqs->name(sqs->name() + (*h)[0]->name());
10641064
(*rh)[rh->length()-1] = sqs;
10651065
for (i = 1; i < L; ++i) *rh << (*h)[i];
10661066
} else if (Element_Selector* ts = dynamic_cast<Element_Selector*>(rh->last())) {
1067-
Element_Selector* tss = new Element_Selector(*ts);
1067+
Element_Selector* tss = SASS_MEMORY_NEW(ctx.mem, Element_Selector, *ts);
10681068
tss->name(tss->name() + (*h)[0]->name());
10691069
(*rh)[rh->length()-1] = tss;
10701070
for (i = 1; i < L; ++i) *rh << (*h)[i];
10711071
} else if (Placeholder_Selector* ps = dynamic_cast<Placeholder_Selector*>(rh->last())) {
1072-
Placeholder_Selector* pss = new Placeholder_Selector(*ps);
1072+
Placeholder_Selector* pss = SASS_MEMORY_NEW(ctx.mem, Placeholder_Selector, *ps);
10731073
pss->name(pss->name() + (*h)[0]->name());
10741074
(*rh)[rh->length()-1] = pss;
10751075
for (i = 1; i < L; ++i) *rh << (*h)[i];

0 commit comments

Comments
 (0)