From b22b65dd299f77f882e8c98f7342b03671bd678f Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Sat, 21 Sep 2019 02:22:25 +0300 Subject: [PATCH] Avoid SIGSEGV on batch send failure (file with index XX is absent) In case of the following error: Failed to send batch: file with index 23742 is absent NULL dereference will occur for the "remote". --- dbms/src/Storages/Distributed/DirectoryMonitor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dbms/src/Storages/Distributed/DirectoryMonitor.cpp b/dbms/src/Storages/Distributed/DirectoryMonitor.cpp index df19d76bbb34..183897c75745 100644 --- a/dbms/src/Storages/Distributed/DirectoryMonitor.cpp +++ b/dbms/src/Storages/Distributed/DirectoryMonitor.cpp @@ -392,7 +392,8 @@ struct StorageDistributedDirectoryMonitor::Batch remote->writePrepared(in); } - remote->writeSuffix(); + if (remote) + remote->writeSuffix(); } catch (const Exception & e) {