X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=inn-innduct.git;a=blobdiff_plain;f=innd%2Fstatus.c;h=e2040c112d7298338857a247d90eabbee612d736;hp=f3c2d8d6c91cf3b5c288359a4c845676627e76e3;hb=8f96ca50aa0f9edfd4cd9597dedeeaea07134f7f;hpb=d5b3cbfbd8f26b8b77ce3ce100a9c13c5a71c8f3 diff --git a/innd/status.c b/innd/status.c index f3c2d8d..e2040c1 100644 --- a/innd/status.c +++ b/innd/status.c @@ -153,9 +153,14 @@ STATUSsummary(void) status = xmalloc(sizeof(STATUS)); peers++; /* a new peer */ strlcpy(status->name, TempString, sizeof(status->name)); - strlcpy(status->ip_addr, - sprint_sockaddr((struct sockaddr *)&cp->Address), - sizeof(status->ip_addr)); + if (cp->Address.ss_family == 0) { + /* Connections from lc.c do not have an IP address. */ + memset(&status->ip_addr, 0, sizeof(status->ip_addr)); + } else { + strlcpy(status->ip_addr, + sprint_sockaddr((struct sockaddr *)&cp->Address), + sizeof(status->ip_addr)); + } status->can_stream = cp->Streaming; status->seconds = status->Size = status->DuplicateSize = 0; status->Ihave = status->Ihave_Duplicate =