[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