diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-02-26 18:33:10 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2015-02-26 18:33:10 -0600 |
| commit | 8c30df14b10c55bb1d4f6a5518c8bc786de3bea0 (patch) | |
| tree | f4bfd65fa6cabe5fa2a6dbac69aa14162d1d8ee2 | |
| parent | 424f797a78a0c4da7244136647e80d13e152eeab (diff) | |
| download | usermoji-8c30df14b10c55bb1d4f6a5518c8bc786de3bea0.tar.xz | |
layers: Fix MemTracker memory leak
Call to string helper function was not freeing returned memory.
| -rw-r--r-- | layers/mem_tracker.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/layers/mem_tracker.c b/layers/mem_tracker.c index df2cdd73..a0903cd9 100644 --- a/layers/mem_tracker.c +++ b/layers/mem_tracker.c @@ -655,11 +655,15 @@ static void printMemList() layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, NULL, 0, MEMTRACK_NONE, "MEM", str); sprintf(str, " pNext Mem Obj Node: %p", (void*)pTrav->pNextGlobalNode); layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, NULL, 0, MEMTRACK_NONE, "MEM", str); - if (0 != pTrav->allocInfo.allocationSize) - sprintf(str, " Mem Alloc info:\n%s", xgl_print_xgl_memory_alloc_info(&pTrav->allocInfo, "{MEM}INFO : ")); - else + if (0 != pTrav->allocInfo.allocationSize) { + char* pAllocInfoMsg = xgl_print_xgl_memory_alloc_info(&pTrav->allocInfo, "{MEM}INFO : "); + sprintf(str, " Mem Alloc info:\n%s", pAllocInfoMsg); + layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, NULL, 0, MEMTRACK_NONE, "MEM", str); + free(pAllocInfoMsg); + } else { sprintf(str, " Mem Alloc info is NULL (alloc done by xglWsiX11CreatePresentableImage())"); - layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, NULL, 0, MEMTRACK_NONE, "MEM", str); + layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, NULL, 0, MEMTRACK_NONE, "MEM", str); + } MINI_NODE* pObjTrav = pTrav->pObjBindings; if (!pObjTrav) { sprintf(str, " No XGL Object bindings"); |
