libuuid: ensure variable is initialized [cppcheck]

This fix has a little bit of a feel of making a static analyzer to be happy
instead of real progress.  If I read the preprocessor directives correctly
it should be impossible hit uninitialized variable.  Then again if a bug
creeps into these ifdef's in that case it is nice to have robust code that
doesn't immediately go wrong.

    libuuid/src/gen_uuid.c:200:20: error: Uninitialized variable: a [uninitvar]
       memcpy(node_id, a, 6);
                       ^
    libuuid/src/gen_uuid.c:197:8: error: Uninitialized variable: a [uninitvar]
      if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
           ^

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2020-02-29 08:51:53 +00:00
parent dcb87944c2
commit 3c92864ecd
No known key found for this signature in database
GPG Key ID: 0D46FEF7E61DBB46
1 changed files with 2 additions and 2 deletions

View File

@ -136,7 +136,7 @@ static int get_node_id(unsigned char *node_id)
struct ifconf ifc;
char buf[1024];
int n, i;
unsigned char *a;
unsigned char *a = NULL;
#ifdef HAVE_NET_IF_DL_H
struct sockaddr_dl *sdlp;
#endif
@ -194,7 +194,7 @@ static int get_node_id(unsigned char *node_id)
#endif /* HAVE_NET_IF_DL_H */
#endif /* SIOCGENADDR */
#endif /* SIOCGIFHWADDR */
if (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5])
if (a == NULL || (!a[0] && !a[1] && !a[2] && !a[3] && !a[4] && !a[5]))
continue;
if (node_id) {
memcpy(node_id, a, 6);