| Index: core/src/fxcrt/fx_basic_plex.cpp
 | 
| diff --git a/core/src/fxcrt/fx_basic_plex.cpp b/core/src/fxcrt/fx_basic_plex.cpp
 | 
| index b6383ecf20ca705840a8ea5e224595f3e79c3c53..91cc1313bdf3b6bf1c6ae8e5df56422e9f019407 100644
 | 
| --- a/core/src/fxcrt/fx_basic_plex.cpp
 | 
| +++ b/core/src/fxcrt/fx_basic_plex.cpp
 | 
| @@ -18,10 +18,9 @@ CFX_Plex* CFX_Plex::Create(CFX_Plex*& pHead,
 | 
|  }
 | 
|  void CFX_Plex::FreeDataChain() {
 | 
|    CFX_Plex* p = this;
 | 
| -  while (p != NULL) {
 | 
| -    uint8_t* bytes = (uint8_t*)p;
 | 
| -    CFX_Plex* pNext = p->pNext;
 | 
| -    FX_Free(bytes);
 | 
| -    p = pNext;
 | 
| +  while (p) {
 | 
| +    CFX_Plex* old = p;
 | 
| +    p = p->pNext;
 | 
| +    FX_Free(old);
 | 
|    }
 | 
|  }
 | 
| 
 |