From ccc914e8f39a9eec4b15c82eae18639ba192745d Mon Sep 17 00:00:00 2001 From: Tong Zhigao Date: Tue, 18 Feb 2020 12:20:29 +0800 Subject: [PATCH] Fix: no panic when check magic_number or version fail (#11) --- src/tiflash_ffi/invoke.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/tiflash_ffi/invoke.rs b/src/tiflash_ffi/invoke.rs index e0cf886acd6..fad06ce52b3 100644 --- a/src/tiflash_ffi/invoke.rs +++ b/src/tiflash_ffi/invoke.rs @@ -176,8 +176,22 @@ impl TiFlashServerHelper { pub fn check(&self) { assert_eq!(std::mem::align_of::(), std::mem::align_of::()); - assert_eq!(self.magic_number, 0x13579BDF); - assert_eq!(self.version, 1); + const MAGIC_NUMBER: u32 = 0x13579BDF; + const VERSION: u32 = 1; + + if self.magic_number != MAGIC_NUMBER { + eprintln!( + "TiFlash Proxy FFI magic number not match: expect {} got {}", + MAGIC_NUMBER, self.magic_number + ); + std::process::exit(-1); + } else if self.version != VERSION { + eprintln!( + "TiFlash Proxy FFI version not match: expect {} got {}", + VERSION, self.version + ); + std::process::exit(-1); + } } pub fn handle_admin_raft_cmd(