Initialize potentially uninitialized local variables

Compiling OpenSSL code with MSVC and /W4 results in a number of warnings.
One category of warnings is particularly interesting - C4701 (potentially
uninitialized local variable 'name' used). This warning pretty much means
that there's a code path which results in uninitialized variables being used
or returned. Depending on compiler, its options, OS, values in registers
and/or stack, the results can be nondeterministic. Cases like this are very
hard to debug so it's rational to fix these issues.

This patch contains a set of trivial fixes for all the C4701 warnings (just
initializing variables to 0 or NULL or appropriate error code) to make sure
that deterministic values will be returned from all the execution paths.

RT#3835

Signed-off-by: Matt Caswell <matt@openssl.org>

Matt's note: All of these appear to be bogus warnings, i.e. there isn't
actually a code path where an unitialised variable could be used - its just
that the compiler hasn't been able to figure that out from the logic. So
this commit is just about silencing spurious warnings.

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Gunnar Kudrjavets
2015-05-06 10:16:55 +01:00
committed by Matt Caswell
parent 4407d070e5
commit 4c9b0a0314
15 changed files with 29 additions and 29 deletions

View File

@@ -175,7 +175,7 @@ int app_init(long mesgwin);
int chopup_args(ARGS *arg, char *buf)
{
int quoted;
char c, *p;
char c = '\0', *p = NULL;
arg->argc = 0;
if (arg->size == 0) {