Fix segfault when printing Bad-echo name after failing to load cfg

This is a weird one: sbbsecho ran right as I was saving msgs.cnf via
SCFG and it seems like it loaded 0-byte msgs.cnf into memory and this
segfault was a result of trying to print sub[INVALID_SUB]->code.

The use of [f]nopen() with proper share perms should have prevented this
(truncated msgs.cnf read) from happening, so there's something else afoot here.
14 jobs for dailybuild_linux-x64 in 9 minutes and 33 seconds (queued for 11 seconds)
Status Job ID Name Coverage
  Build
passed #34801
FreeBSD
jsdoor-freebsd

00:03:53

passed #34802
Linux
jsdoor-linux

00:06:23

passed #34804
FreeBSD
jsdoor-windows

00:01:52

passed #34796
FreeBSD
sbbs-freebsd

00:05:27

passed #34791
Linux
sbbs-linux

00:09:30

passed #34794
Windows
sbbs-windows

00:04:55

passed #34803
FreeBSD
sexpots-freebsd

00:00:13

passed #34792
Linux
sexpots-linux

00:00:20

passed #34795
Windows
sexpots-windows

00:00:20

passed #34799
FreeBSD
syncdraw-freebsd

00:00:25

passed #34800
Linux
syncdraw-linux

00:00:57

passed #34797
FreeBSD
syncterm-freebsd

00:00:59

passed #34793
Linux
syncterm-linux

00:02:47

passed #34798
FreeBSD
syncterm-windows

00:01:47