]> code.citadel.org Git - citadel.git/commitdiff
* citserver.c: fix overrun which caused segv's on servers with long
authorNathan Bryant <loanshark@uncensored.citadel.org>
Sat, 10 Oct 1998 15:28:54 +0000 (15:28 +0000)
committerNathan Bryant <loanshark@uncensored.citadel.org>
Sat, 10 Oct 1998 15:28:54 +0000 (15:28 +0000)
          hostnames.

citadel/ChangeLog
citadel/citserver.c

index 21bdf45be22ee4a3c1e0d5f2d0034a678f41d014..4aa07fee31bddd351242adae0cc718d012e884a2 100644 (file)
@@ -1,3 +1,7 @@
+1998-10-10 Nathan Bryant <bryant@cs.usm.maine.edu>
+       * citserver.c: fix overrun which caused segv's on servers with long
+         hostnames.
+
 Fri Oct  9 18:34:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * user_ops.c: added PurgeStaleRelationships() to do processing at
          session logout time to remove visits for rooms which no longer exist
index 72e881e73dff4d3ab44ce124d33662e5c28473b7..6b013926a11fcbe1ee3d51a7946159666653c256 100644 (file)
@@ -666,7 +666,8 @@ void *context_loop(struct CitContext *con)
        strcpy(CC->net_node,"");
        sprintf(CC->temp,"/tmp/CitServer.%d.%d", getpid(), CC->cs_pid);
        strcpy(CC->cs_room, "");
-       strcpy(CC->cs_host, config.c_fqdn);
+       strncpy(CC->cs_host, config.c_fqdn, sizeof CC->cs_host);
+       CC->cs_host[sizeof CC->cs_host - 1] = 0;
        locate_host(CC->cs_host);
        CC->cs_flags = 0;
        CC->upload_type = UPL_FILE;