aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-02-21 22:26:33 +0000
committerGravatar Szymon Tomasz Stefanek2011-02-21 22:26:33 +0000
commit4da4836172270f7458f33c93aece4877bb70fc92 (patch)
treea71fb13e8e8baecaaa60c457e9554c7056758927 /src
parentFix another memory leak in the objects module (diff)
downloadKVIrc-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.cpp3
-rw-r--r--src/kvirc/kvs/KviKvsVariant.cpp18
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);
}