[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fdo-commits
Subject:    [fdo-commits] r6756 - sandbox/linux64/Providers/SDF/Src/UnitTest
From:       svn_fdo () osgeo ! org
Date:       2013-01-25 10:39:27
Message-ID: 20130125103927.784803905FA () trac ! osgeo ! org
[Download RAW message or body]

Author: jng
Date: 2013-01-25 02:39:26 -0800 (Fri, 25 Jan 2013)
New Revision: 6756

Modified:
   sandbox/linux64/Providers/SDF/Src/UnitTest/AssociationSchemaTest.cpp
   sandbox/linux64/Providers/SDF/Src/UnitTest/ConnectionInfoTest.cpp
   sandbox/linux64/Providers/SDF/Src/UnitTest/SelectTest.cpp
   sandbox/linux64/Providers/SDF/Src/UnitTest/UnitTestUtil.cpp
Log:
#761: Use PATH_MAX instead of 1024, as this was causing the buffer overflows when \
running the tests in 64-bit linux. Lots of test failures still, but we at least now \
have a full report of failures instead of nothing due to segfault abortion

Modified: sandbox/linux64/Providers/SDF/Src/UnitTest/AssociationSchemaTest.cpp
===================================================================
--- sandbox/linux64/Providers/SDF/Src/UnitTest/AssociationSchemaTest.cpp	2013-01-25 \
                06:16:28 UTC (rev 6755)
+++ sandbox/linux64/Providers/SDF/Src/UnitTest/AssociationSchemaTest.cpp	2013-01-25 \
10:39:26 UTC (rev 6756) @@ -23,6 +23,7 @@
 const wchar_t* TEST_FILE = L"..\\..\\TestData\\AssocSchemaTest.SDX";
 #else
 #include <unistd.h>
+#include <limits.h>
 const wchar_t* TEST_FILE = L"../../TestData/AssocSchemaTest.SDX";
 #endif
 
@@ -55,12 +56,12 @@
 	wchar_t fullpath[1024];
 	_wfullpath(fullpath, TEST_FILE, 1024);
 #else
-	char cpath[1024];
-	char cfullpath[1024];
-	wcstombs(cpath, TEST_FILE, 1024);
+	char cpath[PATH_MAX];
+	char cfullpath[PATH_MAX];
+	wcstombs(cpath, TEST_FILE, PATH_MAX);
 	realpath(cpath, cfullpath);
-	wchar_t fullpath[1024];
-	mbstowcs(fullpath, cfullpath, 1024);
+	wchar_t fullpath[PATH_MAX];
+	mbstowcs(fullpath, cfullpath, PATH_MAX);
 #endif
 
     FdoPtr<IConnectionManager> manager = \
FdoFeatureAccessManager::GetConnectionManager ();

Modified: sandbox/linux64/Providers/SDF/Src/UnitTest/ConnectionInfoTest.cpp
===================================================================
--- sandbox/linux64/Providers/SDF/Src/UnitTest/ConnectionInfoTest.cpp	2013-01-25 \
                06:16:28 UTC (rev 6755)
+++ sandbox/linux64/Providers/SDF/Src/UnitTest/ConnectionInfoTest.cpp	2013-01-25 \
10:39:26 UTC (rev 6756) @@ -22,6 +22,7 @@
 const wchar_t* CI_TEST_FILE = L"..\\..\\TestData\\SelectTest.SDX";
 #else
 #include <unistd.h>
+#include <limits.h>
 const wchar_t* CI_TEST_FILE = L"../../TestData/Acad.SDX";
 #endif
 
@@ -100,7 +101,8 @@
     }
 	catch ( FdoException *e ) 
 	{
-        connection->Close();
+        if (NULL != connection.p)
+            connection->Close();
         printf( "Exception: %ls\n", e->GetExceptionMessage() );
 	}
 }
@@ -112,12 +114,12 @@
 	wchar_t fullpath[1024];
 	_wfullpath(fullpath, CI_TEST_FILE, 1024);
 #else
-	char cpath[1024];
-	char cfullpath[1024];
-	wcstombs(cpath, CI_TEST_FILE, 1024);
+	char cpath[PATH_MAX];
+	char cfullpath[PATH_MAX];
+	wcstombs(cpath, CI_TEST_FILE, PATH_MAX);
 	realpath(cpath, cfullpath);
-	wchar_t fullpath[1024];
-	mbstowcs(fullpath, cfullpath, 1024);
+	wchar_t fullpath[PATH_MAX];
+	mbstowcs(fullpath, cfullpath, PATH_MAX);
 #endif
 
     size_t len = wcstombs(NULL, CI_TEST_FILE, 0);

Modified: sandbox/linux64/Providers/SDF/Src/UnitTest/SelectTest.cpp
===================================================================
--- sandbox/linux64/Providers/SDF/Src/UnitTest/SelectTest.cpp	2013-01-25 06:16:28 UTC \
                (rev 6755)
+++ sandbox/linux64/Providers/SDF/Src/UnitTest/SelectTest.cpp	2013-01-25 10:39:26 UTC \
(rev 6756) @@ -22,6 +22,7 @@
 const wchar_t* SELECT_TEST_FILE = L"..\\..\\TestData\\SelectTest.SDX";
 #else
 #include <unistd.h>
+#include <limits.h>
 const wchar_t* SELECT_TEST_FILE = L"../../TestData/Acad.SDX";
 #endif
 
@@ -180,7 +181,8 @@
     }
 	catch ( FdoException* e ) 
 	{
-        connection->Close();
+        if (NULL != connection.p)
+            connection->Close();
         TestCommonFail(e);
 	}
 
@@ -195,12 +197,12 @@
 	wchar_t fullpath[1024];
 	_wfullpath(fullpath, SELECT_TEST_FILE, 1024);
 #else
-	char cpath[1024];
-	char cfullpath[1024];
-	wcstombs(cpath, SELECT_TEST_FILE, 1024);
+	char cpath[PATH_MAX];
+	char cfullpath[PATH_MAX];
+	wcstombs(cpath, SELECT_TEST_FILE, PATH_MAX);
 	realpath(cpath, cfullpath);
-	wchar_t fullpath[1024];
-	mbstowcs(fullpath, cfullpath, 1024);
+	wchar_t fullpath[PATH_MAX];
+	mbstowcs(fullpath, cfullpath, PATH_MAX);
 #endif
 
     size_t len = wcstombs(NULL, SELECT_TEST_FILE, 0);

Modified: sandbox/linux64/Providers/SDF/Src/UnitTest/UnitTestUtil.cpp
===================================================================
--- sandbox/linux64/Providers/SDF/Src/UnitTest/UnitTestUtil.cpp	2013-01-25 06:16:28 \
                UTC (rev 6755)
+++ sandbox/linux64/Providers/SDF/Src/UnitTest/UnitTestUtil.cpp	2013-01-25 10:39:26 \
UTC (rev 6756) @@ -21,6 +21,7 @@
 #include "SDF/ICreateSDFFile.h"
 #ifndef _WIN32
 #include <unistd.h>
+#include <limits.h>
 #endif
 
 const wchar_t* SOURCE_FILE = L"../../TestData/PARCEL_linuxtest.SDX";
@@ -119,12 +120,13 @@
 	wchar_t fullpath[1024];
 	_wfullpath(fullpath, fileName, 1024);
 #else
-	char cpath[1024];
-	char cfullpath[1024];
-	wcstombs(cpath, fileName, 1024);
+	char cpath[PATH_MAX];
+	char cfullpath[PATH_MAX];
+	wcstombs(cpath, fileName, PATH_MAX);
 	realpath(cpath, cfullpath);
-	wchar_t fullpath[1024];
-	mbstowcs(fullpath, cfullpath, 1024);
+	wchar_t fullpath[PATH_MAX];
+	mbstowcs(fullpath, cfullpath, PATH_MAX);
+	printf ("Full path is: %s\n", fullpath);
 #endif
 
     FdoIConnection *conn = inConn;

_______________________________________________
fdo-commits mailing list
fdo-commits@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic