From 74bf09b483376195f984839b336d4349e33b5bf7 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 21 Mar 2017 12:43:18 +0100 Subject: Make PDFDocument::ReadKeyword work at end of file If the first ReadChar fails due to EOF, ch would be used uninitialized. If the second ReadChar fails due to EOF, the SeekRel(-1) shouldn't be executed. Change-Id: Ibf99539a3a8880a77653bd7576721104f9782e36 Reviewed-on: https://gerrit.libreoffice.org/35504 Tested-by: Jenkins Reviewed-by: Miklos Vajna (cherry picked from commit 9871f1eee320bca222af909a33b446ae70167883) --- xmlsecurity/source/pdfio/pdfdocument.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'xmlsecurity') diff --git a/xmlsecurity/source/pdfio/pdfdocument.cxx b/xmlsecurity/source/pdfio/pdfdocument.cxx index 0457f0dd3e34..209b6df3dbe2 100644 --- a/xmlsecurity/source/pdfio/pdfdocument.cxx +++ b/xmlsecurity/source/pdfio/pdfdocument.cxx @@ -1311,12 +1311,14 @@ OString PDFDocument::ReadKeyword(SvStream& rStream) OStringBuffer aBuf; char ch; rStream.ReadChar(ch); + if (rStream.IsEof()) + return OString(); while (isalpha(ch)) { aBuf.append(ch); rStream.ReadChar(ch); if (rStream.IsEof()) - break; + return aBuf.toString(); } rStream.SeekRel(-1); return aBuf.toString(); -- cgit