summaryrefslogtreecommitdiff
path: root/sal/textenc
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-09-03 15:50:09 +0200
committerStephan Bergmann <sbergman@redhat.com>2019-09-03 20:18:28 +0200
commit238f6f42b381198e14f6d17649d8465425c7450f (patch)
tree7d3eeb9d542a9274875adac1a6f39d7f259890a7 /sal/textenc
parent91a97c5e0b7b760ec0b46ad38b28ec1419c7d48f (diff)
Fix handling of invalid bytes >= 0x80 in ImplUTF7ToUnicode
Change-Id: I08838f9ae34a31712d7269ddaaee3fe59ece2178 Reviewed-on: https://gerrit.libreoffice.org/78562 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sal/textenc')
-rw-r--r--sal/textenc/tcvtutf7.cxx17
1 files changed, 10 insertions, 7 deletions
diff --git a/sal/textenc/tcvtutf7.cxx b/sal/textenc/tcvtutf7.cxx
index 46c135859566..dd97b213750b 100644
--- a/sal/textenc/tcvtutf7.cxx
+++ b/sal/textenc/tcvtutf7.cxx
@@ -358,15 +358,18 @@ sal_Size ImplUTF7ToUnicode( SAL_UNUSED_PARAMETER const void*, void* pContext,
= RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER;
}
}
-
- /* Write char to unicode buffer */
- if ( pDestBuf >= pEndDestBuf )
+ else
{
- *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR | RTL_TEXTTOUNICODE_INFO_DESTBUFFERTOOSMALL;
- break;
+ /* Write char to unicode buffer */
+ if ( pDestBuf >= pEndDestBuf )
+ {
+ *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR | RTL_TEXTTOUNICODE_INFO_DESTBUFFERTOOSMALL;
+ break;
+ }
+ *pDestBuf = c;
+ pDestBuf++;
+
}
- *pDestBuf = c;
- pDestBuf++;
}
}