From a4cc3e4be1c297f6b77d151e0d21b2373c72ac7d Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 28 Aug 2007 00:00:32 +0000 Subject: [PATCH] r14821@catbus: nickm | 2007-08-27 19:57:56 -0400 Check for absent nickname when making extend info. I still dont know when this happens, but it is easy enough to check for. Fixes bug 467. svn:r11293 --- ChangeLog | 4 ++++ src/or/circuitbuild.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e48d7ecda0..fdf77a769f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,10 @@ Changes in version 0.2.0.6-alpha - 2007-??-?? - As a client, do not believe any server that tells us that any address maps to an internal address space. + o Minor bugfixes: + - When generating information telling us how to extend to a given + router, do not try to include the nickname if it is absent. Fixes + bug 467. Changes in version 0.2.0.6-alpha - 2007-08-26 o New directory authorities: diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 8df5908201..972d48951a 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1740,7 +1740,8 @@ extend_info_alloc(const char *nickname, const char *digest, { extend_info_t *info = tor_malloc_zero(sizeof(extend_info_t)); memcpy(info->identity_digest, digest, DIGEST_LEN); - strlcpy(info->nickname, nickname, sizeof(info->nickname)); + if (nickname) + strlcpy(info->nickname, nickname, sizeof(info->nickname)); if (onion_key) info->onion_key = crypto_pk_dup_key(onion_key); info->addr = addr;