Every node_t has either a routerinfo_t or a routerstatus_t, so every node_t *should* have a nickname. Nonetheless, let's make sure in hex_digest_nickname_matches(). Should quiet CID 434.
@@ -2274,6 +2274,8 @@ hex_digest_nickname_matches(const char *hexdigest, const char *identity_digest,
return 0;
if (nn_char == '=' || nn_char == '~') {
+ if (!nickname)
+ return 0;
if (strcasecmp(nn_buf, nickname))
if (nn_char == '=' && !is_named)