Ticket #3985 (new defect)
msAppendSymbol causes memory leak
| Reported by: | szigeti | Owned by: | sdlime |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.0.2 release |
| Component: | MapServer C Library | Version: | 6.0 |
| Severity: | normal | Keywords: | symbolObj, symbolSet, msAppendSymbol, msGrowSymbolSet |
| Cc: | dmorissette, aboudreault |
Description
msAppendSymbol() should append a symbolObj to a symbolSetObj. The function calls msGrowSymbolSet(), which already allocates memory for a symbolObj instance at symbolset->symbol[symbolset->numsymbols-1]. But msAppendSymbol immediately overwrites this pointer with the pointer to the inserted symbolObj. So the memory allocated to symbolset->symbol[symbolset->numsymbols-1] by msGrowSymbolSet() will never be freed.
Possible solutions:
- free the memory allocated by msGrowSymbolSet() before inserting the new symbolObj.
- copy by value
- do not use msAppendSymbol (unfortunately mapscript uses it..)
Change History
Note: See
TracTickets for help on using
tickets.
