Index: trunk/MagicSoft/Mars/msql/MSQLMagic.cc
===================================================================
--- trunk/MagicSoft/Mars/msql/MSQLMagic.cc	(revision 8589)
+++ trunk/MagicSoft/Mars/msql/MSQLMagic.cc	(revision 8709)
@@ -69,4 +69,7 @@
     const TString rc = row ? (*row)[0] : "";
 
+    if (row)
+        delete row;
+
     delete res;
     return rc;
@@ -124,5 +127,10 @@
 
     const Int_t rc1 = row && (*row)[0] ? atoi((*row)[0]) : -1;
+
+    if (row)
+        delete row;
+
     delete res1;
+
     return rc1;
 }
@@ -191,4 +199,7 @@
     if (row && (*row)[0])
         rc=kTRUE;
+
+    if (row)
+        delete row;
 
     delete res;
Index: trunk/MagicSoft/Mars/msql/MSQLServer.cc
===================================================================
--- trunk/MagicSoft/Mars/msql/MSQLServer.cc	(revision 8589)
+++ trunk/MagicSoft/Mars/msql/MSQLServer.cc	(revision 8709)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MSQLServer.cc,v 1.13 2006-11-01 08:29:45 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MSQLServer.cc,v 1.14 2007-08-25 15:30:26 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -82,5 +82,8 @@
 
     TSQLRow *row=res->Next();
-    const TString desc((*row)[1]);
+    const TString desc(row ? (*row)[1] : "");
+
+    if (row)
+        delete row;
 
     delete res;
@@ -178,4 +181,5 @@
     {
         TString row0((*row)[0]);
+        delete row;
 
         MSQLServer *sql = (MSQLServer*)fList.FindObject(Form("%s/%s/%s", (const char*)fDataBase, (const char*)fTable, (const char*)row0));
@@ -202,4 +206,5 @@
     {
         TString row0((*row)[0]);
+        delete row;
 
         MSQLServer *sql = (MSQLServer*)fList.FindObject(Form("%s/%s", (const char*)fDataBase, (const char*)row0));
@@ -226,4 +231,5 @@
     {
         const TString row0((*row)[0]);
+        delete row;
 
         MSQLServer *sql = (MSQLServer*)fList.FindObject(row0);
@@ -257,4 +263,6 @@
 
     TList rows;
+    rows.SetOwner();
+
     while ((row=res.Next()))
     {
@@ -305,4 +313,6 @@
 
     TList rows;
+    rows.SetOwner();
+
     while ((row=res->Next()))
         rows.Add(row);
@@ -767,10 +777,11 @@
     while ((row=res->Next()))
     {
-        TString key = (*row)[3];
-        if (key!="PRI")
-            continue;
-
-        rc = (*row)[0];
-        break;
+        const TString key = (*row)[3];
+        if (key=="PRI")
+        {
+            rc = (*row)[0];
+            break;
+        }
+        delete row;
     }
 
