--- deliantra/server/server/player.C 2006/09/16 22:24:13 1.25 +++ deliantra/server/server/player.C 2006/09/17 18:19:19 1.26 @@ -331,8 +331,10 @@ p = get_player (NULL); p->socket = *ns; p->socket.faces_sent = (uint8 *) malloc (p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); + if (p->socket.faces_sent == NULL) fatal (OUT_OF_MEMORY); + memcpy (p->socket.faces_sent, ns->faces_sent, p->socket.faces_sent_len * sizeof (*p->socket.faces_sent)); /* Needed because the socket we just copied over needs to be cleared. * Note that this can result in a client reset if there is partial data @@ -347,6 +349,7 @@ send_news (p->ob); display_motd (p->ob); get_name (p->ob); + return 0; }