restorevol: replace snprintf with asprintf 94/13494/11
authorCheyenne Wills <cwills@sinenomine.net>
Fri, 2 Aug 2019 16:31:13 +0000 (10:31 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 2 Aug 2019 17:28:08 +0000 (13:28 -0400)
commitbf24b301a10dcb5710a98e58252213bd72c6f352
treea58d31830d8647f8109859e78d3a886ade8404ab
parente6b97b337bc97fdb1c8e4f1a0572c62dfc82d979
restorevol: replace snprintf with asprintf

GCC is generating format-truncations warnings. With newer levels of gcc
(e.g. gcc8) and --checking-enabled these warnings result in errors and
failed builds.  In addition clang8 static analysis tools are reporting
memory leaks.

Replace snprintf with asprintf and eliminate some of the large work
buffers that are being placed on the stack. In order to correct some of
the format-truncation errors the size of the buffers grew significantly
(e.g. gcc is reporting the need to resize some of the buffers from 256
bytes to 4K in order to eliminate the warnings).

Ensure allocated work buffers are freed before function return.

Obtained a clean build with gcc9/clang8 with --enable-checking and a
clean scan-build report with clang8.

Change-Id: Ie8e22fdff2e0ba6494b1b449f413ecbe38f367bd
Reviewed-on: https://gerrit.openafs.org/13494
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/volser/restorevol.c