From: Joost VandeVondele Date: Mon, 21 Oct 2019 06:05:14 +0000 (+0200) Subject: Avoid crashing on Log File opening X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=215cd19108d97376284192c29790b42a0b0e618a;hp=12d58adc68b1aa084d383d06bc47abbb3495ce3e Avoid crashing on Log File opening Stockfish crashes immediately if users enter a wrong file name (or even an existing folder name) for debug log file. It may be hard for users to find out since it prints nothing. If they enter the string via a chess GUI, the chess GUI may remember and auto-send to Stockfish next time, makes Stockfish crashes all the time. Bug report by Nguyen Hong Pham in this issue: https://github.com/official-stockfish/Stockfish/issues/2365 This patch avoids the crash and instead prefers to exit gracefully with a error message on std:cerr, like we do with the fenFile for instance. Closes https://github.com/official-stockfish/Stockfish/pull/2366 No functional change. --- diff --git a/src/misc.cpp b/src/misc.cpp index 17644eed..6f908fd2 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -102,6 +102,13 @@ public: if (!fname.empty() && !l.file.is_open()) { l.file.open(fname, ifstream::out); + + if (!l.file.is_open()) + { + cerr << "Unable to open debug log file " << fname << endl; + exit(EXIT_FAILURE); + } + cin.rdbuf(&l.in); cout.rdbuf(&l.out); }