diff options
author | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-12-09 02:40:53 +0100 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-12-11 02:42:03 +0000 |
commit | 1188061c25cb5aaa32193a78111fcbe2ef10eaf1 (patch) | |
tree | 932aa005135c7134a38eff98d84b7ea5c9be8084 /external | |
parent | 9db5cfc889403e923a41dc88b07d0c973d227552 (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')
-rw-r--r-- | external/libcmis/UnpackedTarball_cmis.mk | 1 | ||||
-rw-r--r-- | external/libcmis/libcmis-fix-error-handling.patch | 20 |
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 + |