summaryrefslogtreecommitdiff
path: root/external/libcmis
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2016-12-09 02:40:53 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-12-11 02:42:03 +0000
commit1188061c25cb5aaa32193a78111fcbe2ef10eaf1 (patch)
tree932aa005135c7134a38eff98d84b7ea5c9be8084 /external/libcmis
parent9db5cfc889403e923a41dc88b07d0c973d227552 (diff)
libcmis: error handling for datetime string parser
Change-Id: Ie5be0307fa8ac0292f7692f9674e07776cb1948d Reviewed-on: https://gerrit.libreoffice.org/31777 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'external/libcmis')
-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 8fb247fb87aa..2ba454f87a89 100644
--- a/external/libcmis/UnpackedTarball_cmis.mk
+++ b/external/libcmis/UnpackedTarball_cmis.mk
@@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cmis, \
external/libcmis/libcmis-fix-google-drive.patch \
external/libcmis/libcmis-google-2FA-implementation.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
+