summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2016-12-09 02:40:53 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-01-31 15:00:30 +0100
commit2c3fad1495c4069af684da02765b9914185cbfd1 (patch)
treef965a4a122af2754b5e487601dd9faab80fdb251
parentd50224306a5c070918c55cd9434d070912dd9a02 (diff)
libcmis: error handling for datetime string parser
Change-Id: Ie5be0307fa8ac0292f7692f9674e07776cb1948d
-rw-r--r--external/libcmis/UnpackedTarball_cmis.mk1
-rw-r--r--external/libcmis/libcmis-fix-error-handling.patch20
2 files changed, 21 insertions, 0 deletions
diff --git a/external/libcmis/UnpackedTarball_cmis.mk b/external/libcmis/UnpackedTarball_cmis.mk
index 0b76efd254a1..58373bdbcbf6 100644
--- a/external/libcmis/UnpackedTarball_cmis.mk
+++ b/external/libcmis/UnpackedTarball_cmis.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cmis, \
external/libcmis/libcmis-google-2FA-implementation.patch \
external/libcmis/libcmis-fix-google-drive-2.patch \
external/libcmis/libcmis-sharepoint-repository-root.patch \
+ external/libcmis/libcmis-fix-error-handling.patch \
))
ifeq ($(OS)$(COM),WNTMSC)
diff --git a/external/libcmis/libcmis-fix-error-handling.patch b/external/libcmis/libcmis-fix-error-handling.patch
new file mode 100644
index 000000000000..09df7ac9ebe5
--- /dev/null
+++ b/external/libcmis/libcmis-fix-error-handling.patch
@@ -0,0 +1,20 @@
+diff -ur cmis.org/src/libcmis/xml-utils.cxx cmis/src/libcmis/xml-utils.cxx
+--- cmis.org/src/libcmis/xml-utils.cxx 2016-12-09 02:19:47.900961750 +0100
++++ cmis/src/libcmis/xml-utils.cxx 2016-12-09 02:23:56.392206339 +0100
+@@ -382,9 +382,14 @@
+ // Get the time zone offset
+ boost::posix_time::time_duration tzOffset( boost::posix_time::duration_from_string( "+00:00" ) );
+
++ if ( dateTimeStr.empty( ) )
++ return t; // obviously not a time
++
+ size_t teePos = dateTimeStr.find( 'T' );
+- string noTzStr = dateTimeStr.substr( 0, teePos + 1 );
++ if ( teePos == string::npos )
++ return t; // obviously not a time
+
++ string noTzStr = dateTimeStr.substr( 0, teePos + 1 );
+ string timeStr = dateTimeStr.substr( teePos + 1 );
+
+ // Get the TZ if any
+