diff options
| author | 2011-02-21 22:26:33 +0000 | |
|---|---|---|
| committer | 2011-02-21 22:26:33 +0000 | |
| commit | 4da4836172270f7458f33c93aece4877bb70fc92 (patch) | |
| tree | a71fb13e8e8baecaaa60c457e9554c7056758927 /src | |
| parent | Fix another memory leak in the objects module (diff) | |
| download | KVIrc-4da4836172270f7458f33c93aece4877bb70fc92.tar.gz KVIrc-4da4836172270f7458f33c93aece4877bb70fc92.tar.bz2 KVIrc-4da4836172270f7458f33c93aece4877bb70fc92.zip | |
Fix a memory leak in ()
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5495 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kvs/KviKvsCoreFunctions_sz.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kvs/KviKvsVariant.cpp | 18 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/kvirc/kvs/KviKvsCoreFunctions_sz.cpp b/src/kvirc/kvs/KviKvsCoreFunctions_sz.cpp index 7818ea7cc..d83d646fc 100644 --- a/src/kvirc/kvs/KviKvsCoreFunctions_sz.cpp +++ b/src/kvirc/kvs/KviKvsCoreFunctions_sz.cpp @@ -932,7 +932,10 @@ namespace KviKvsCoreFunctions KviKvsVariant *pVar = KviKvsVariant::unserialize(szData); if(pVar) + { KVSCF_pRetBuffer->copyFrom(pVar); + delete pVar; + } return true; } diff --git a/src/kvirc/kvs/KviKvsVariant.cpp b/src/kvirc/kvs/KviKvsVariant.cpp index 08e8b4882..3debe5b0f 100644 --- a/src/kvirc/kvs/KviKvsVariant.cpp +++ b/src/kvirc/kvs/KviKvsVariant.cpp @@ -1350,7 +1350,7 @@ void KviKvsVariant::serialize(QString & szResult) KviKvsVariant * KviKvsVariant::unserialize(const QString & szBuffer) { - KviKvsVariant * pResult = 0; + KviKvsVariant * pResult = NULL; const QChar * pAux = (const QChar *)szBuffer.constData(); @@ -1361,7 +1361,7 @@ KviKvsVariant * KviKvsVariant::unserialize(const QString & szBuffer) //strange extra characters? if(pResult) delete pResult; - pResult = 0; + pResult = NULL; } return pResult; @@ -1369,7 +1369,7 @@ KviKvsVariant * KviKvsVariant::unserialize(const QString & szBuffer) KviKvsVariant * KviKvsVariant::unserialize(const QChar ** ppAux) { - KviKvsVariant * pResult = 0; + KviKvsVariant * pResult = NULL; while((*ppAux)->isSpace()) (*ppAux)++; @@ -1416,7 +1416,7 @@ KviKvsVariant * KviKvsVariant::unserialize(const QChar ** ppAux) break; default: //incorrect value - return 0; + return NULL; } while((*ppAux)->isSpace()) @@ -1446,7 +1446,7 @@ KviKvsVariant * KviKvsVariant::unserializeBool(const QChar ** ppAux, bool bBool) if(bOk) return new KviKvsVariant(bBool); - return 0; + return NULL; } KviKvsVariant * KviKvsVariant::unserializeNull(const QChar ** ppAux) @@ -1456,7 +1456,7 @@ KviKvsVariant * KviKvsVariant::unserializeNull(const QChar ** ppAux) (*ppAux) += 4; return new KviKvsVariant(); } - return 0; + return NULL; } KviKvsVariant * KviKvsVariant::unserializeNumber(const QChar ** ppAux) @@ -1470,9 +1470,7 @@ KviKvsVariant * KviKvsVariant::unserializeNumber(const QChar ** ppAux) } if(!(*ppAux)->isDigit()) - { - return 0; - } + return NULL; while((*ppAux)->isDigit()) { @@ -1481,9 +1479,7 @@ KviKvsVariant * KviKvsVariant::unserializeNumber(const QChar ** ppAux) } if((*ppAux)->unicode() == '.') - { return unserializeReal(ppAux,szData); - } return unserializeInteger(ppAux,szData); } |
