fix uninitialized scopeid in lookups from hosts file and ip literals
authorTimo Teräs <timo.teras@iki.fi>
Fri, 11 Sep 2015 06:15:06 +0000 (06:15 +0000)
committerRich Felker <dalias@aerifal.cx>
Fri, 11 Sep 2015 06:15:06 +0000 (06:15 +0000)
src/network/lookup_ipliteral.c

index 7bcb85f..7ca70b2 100644 (file)
@@ -24,7 +24,7 @@ int __lookup_ipliteral(struct address buf[static 1], const char *name, int famil
        if (family != AF_INET) {
                char tmp[64];
                char *p = strchr(name, '%'), *z;
-               unsigned long long scopeid;
+               unsigned long long scopeid = 0;
                if (p && p-name < 64) {
                        memcpy(tmp, name, p-name);
                        tmp[p-name] = 0;
@@ -44,8 +44,8 @@ int __lookup_ipliteral(struct address buf[static 1], const char *name, int famil
                                if (!scopeid) return EAI_NONAME;
                        }
                        if (scopeid > UINT_MAX) return EAI_NONAME;
-                       buf[0].scopeid = scopeid;
                }
+               buf[0].scopeid = scopeid;
                return 1;
        }
        return 0;