From 5847787e5b5fcc1cb028fbee2417b7fc35e0d3c9 Mon Sep 17 00:00:00 2001 From: Calcitem Date: Sat, 14 Aug 2021 10:54:25 +0800 Subject: [PATCH] Fix CID 338446: Buffer not null terminated (BUFFER_SIZE) buffer_size_warning: Calling strncpy with a maximum size argument of 1024 bytes on destination array ::StartFEN of size 1024 bytes might leave the destination string unterminated. --- src/uci.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/uci.cpp b/src/uci.cpp index ae2ece50..f91e094a 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -162,22 +162,24 @@ void UCI::loop(int argc, char *argv[]) switch (rule.piecesCount) { case 9: - strncpy(StartFEN, StartFEN9, BUFSIZ); + strncpy(StartFEN, StartFEN9, BUFSIZ - 1); break; case 10: - strncpy(StartFEN, StartFEN10, BUFSIZ); + strncpy(StartFEN, StartFEN10, BUFSIZ - 1); break; case 11: - strncpy(StartFEN, StartFEN11, BUFSIZ); + strncpy(StartFEN, StartFEN11, BUFSIZ - 1); break; case 12: - strncpy(StartFEN, StartFEN12, BUFSIZ); + strncpy(StartFEN, StartFEN12, BUFSIZ - 1); break; default: assert(0); break; } + StartFEN[BUFSIZ - 1] = '\0'; + pos->set(StartFEN, Threads.main()); for (int i = 1; i < argc; ++i)