Index: ogr/ogrsf_frmts/oci/ogrocidatasource.cpp
===================================================================
--- ogr/ogrsf_frmts/oci/ogrocidatasource.cpp	(revision 14503)
+++ ogr/ogrsf_frmts/oci/ogrocidatasource.cpp	(working copy)
@@ -211,7 +211,7 @@
     {
         OpenTable( papszTableList[i], -1, bUpdate, FALSE );
     }
-
+	CSLDestroy(papszTableList);
     return TRUE;
 }
 
Index: ogr/ogrsf_frmts/oci/ogrocisession.cpp
===================================================================
--- ogr/ogrsf_frmts/oci/ogrocisession.cpp	(revision 14503)
+++ ogr/ogrsf_frmts/oci/ogrocisession.cpp	(working copy)
@@ -69,6 +69,9 @@
     hDescribe = NULL;
     hGeometryTDO = NULL;
     hOrdinatesTDO = NULL;
+	pszUserid = NULL;
+    pszPassword = NULL;
+    pszDatabase = NULL;
 }
 
 /************************************************************************/
@@ -76,13 +79,19 @@
 /************************************************************************/
 
 OGROCISession::~OGROCISession()
-
 {
     if( hDescribe != NULL )
         OCIHandleFree((dvoid *)hDescribe, (ub4)OCI_HTYPE_DESCRIBE);
 
     if( hSvcCtx != NULL )
         OCILogoff( hSvcCtx, hError );
+	if (pszUserid != NULL)
+	    CPLFree( pszUserid );
+	if (pszPassword != NULL)
+		CPLFree( pszPassword );
+    if (pszDatabase != NULL)
+		CPLFree( pszDatabase );
+
 }
 
 /************************************************************************/

