vcl/source/gdi/embeddedfontsmanager.cxx | 9 +++++++++ 1 file changed, 9 insertions(+)
New commits: commit f256bba249ae0e0c2722905db788793044f45228 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Wed Aug 13 00:04:58 2025 +0500 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Tue Aug 12 22:47:52 2025 +0200 Handle errors in File::close() As Michael mentioned, here may be error writing the data, when buffered write is used. See https://gerrit.libreoffice.org/c/core/+/189345/comment/562331df_0e4a6fbd/ Change-Id: Iea1054a32de67f7db3416f4d238b8748c151c466 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189451 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/vcl/source/gdi/embeddedfontsmanager.cxx b/vcl/source/gdi/embeddedfontsmanager.cxx index dd52b20edfad..3a74c6ee4049 100644 --- a/vcl/source/gdi/embeddedfontsmanager.cxx +++ b/vcl/source/gdi/embeddedfontsmanager.cxx @@ -149,11 +149,20 @@ bool writeFontBytesToFile(osl::File& file, const void* data, sal_uInt64 size) case osl::File::E_INTR: break; default: + SAL_WARN("vcl.fonts", "Writing temporary font file failed"); file.close(); osl::File::remove(file.getURL()); return false; } } + if (file.close() != osl::File::E_None) + { + // Something failed in delayed writing? + SAL_WARN("vcl.fonts", "Writing temporary font file failed"); + osl::File::remove(file.getURL()); + return false; + } + return true; }