Index: src/roff/troff/env.cpp =================================================================== RCS file: /sources/groff/groff/src/roff/troff/env.cpp,v retrieving revision 1.22 diff -u -B -r1.22 env.cpp --- src/roff/troff/env.cpp 5 Jan 2009 20:11:12 -0000 1.22 +++ src/roff/troff/env.cpp 22 Nov 2009 13:16:30 -0000 @@ -2213,14 +2213,15 @@ */ if (curdiv == topdiv && topdiv->before_first_page) topdiv->begin_page(); - macro *m = new macro; - m->append_str("devtag:"); + + macro m; + m.append_str("devtag:"); for (const char *p = nm; *p; p++) if (!invalid_input_char((unsigned char)*p)) - m->append(*p); - m->append(' '); - m->append_int(i); - return new special_node(*m); + m.append(*p); + m.append(' '); + m.append_int(i); + return new special_node(m); } return 0; } Index: src/roff/troff/input.cpp =================================================================== RCS file: /sources/groff/groff/src/roff/troff/input.cpp,v retrieving revision 1.60 diff -u -B -r1.60 input.cpp --- src/roff/troff/input.cpp 7 May 2009 16:22:17 -0000 1.60 +++ src/roff/troff/input.cpp 22 Nov 2009 13:16:33 -0000 @@ -531,6 +531,8 @@ { if (t->is_diversion) { div_level--; + if (diversion_state) + delete diversion_state; diversion_state = t->diversion_state; } } @@ -4398,6 +4400,7 @@ args += c; if (i != limit) args += ' '; + delete p; } if (limit > 0) { args += '\0'; @@ -4419,6 +4422,7 @@ args += '"'; if (i != limit) args += ' '; + delete p; } if (limit > 0) { args += '\0'; @@ -4438,6 +4442,7 @@ } if (input_stack::space_follows_arg(i)) args += ' '; + delete p; } if (limit > 0) { args += '\0'; Index: src/roff/troff/mtsm.cpp =================================================================== RCS file: /sources/groff/groff/src/roff/troff/mtsm.cpp,v retrieving revision 1.6 diff -u -B -r1.6 mtsm.cpp --- src/roff/troff/mtsm.cpp 5 Jan 2009 20:11:12 -0000 1.6 +++ src/roff/troff/mtsm.cpp 22 Nov 2009 13:16:33 -0000 @@ -390,8 +390,6 @@ #endif if (sp == 0) fatal("empty state machine stack"); - if (sp->state) - delete sp->state; sp->state = 0; stack *t = sp; sp = sp->next;