project: Fix potential buffer write-past-end for version components

This fixes two errors: not accounting for the trailing null and a
misunderstanding of what std::numeric_limits::digits10 means.
Status Job ID Name Coverage
  External
passed cdash

passed cmake-dash3win10-windows-release-ninja

passed cmake-hythloth-linux-debug-makefiles+sphinx

passed cmake-minoc-linux-release-lint-iwyu-tidy

passed cmake-moonshade-osx-debug-ninja

passed cmake-moonshade-osx-release-makefiles

passed cmake-terfin-windows-release-vs2019

passed ghostflow-check-master

passed ghostflow-stager

passed cmake-dash3win10-windows-release-ninja

passed cmake-dash3win10-windows-release-ninja

00:19:51

passed cmake-dash3win10-windows-release-ninja

passed cmake-hythloth-linux-debug-makefiles+sphinx

passed cmake-hythloth-linux-debug-makefiles+sphinx

passed cmake-hythloth-linux-debug-makefiles+sphinx

00:53:34

passed cmake-minoc-linux-release-lint-iwyu-tidy

00:14:08

passed cmake-minoc-linux-release-lint-iwyu-tidy

passed cmake-minoc-linux-release-lint-iwyu-tidy

passed cmake-moonshade-osx-debug-ninja

passed cmake-moonshade-osx-debug-ninja

passed cmake-moonshade-osx-debug-ninja

00:13:07

passed cmake-moonshade-osx-release-makefiles

passed cmake-moonshade-osx-release-makefiles

00:12:18

passed cmake-moonshade-osx-release-makefiles

passed cmake-terfin-windows-release-vs2019

passed cmake-terfin-windows-release-vs2019

00:37:08

passed cmake-terfin-windows-release-vs2019

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager

passed ghostflow-stager