summaryrefslogtreecommitdiff
path: root/sample
diff options
context:
space:
mode:
Diffstat (limited to 'sample')
-rw-r--r--sample/ws-chat-server.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sample/ws-chat-server.c b/sample/ws-chat-server.c
index 731d1281..fae23e35 100644
--- a/sample/ws-chat-server.c
+++ b/sample/ws-chat-server.c
@@ -152,13 +152,19 @@ on_ws(struct evhttp_request *req, void *arg)
socklen_t len;
client = calloc(sizeof(*client), 1);
+ addr2str((struct sockaddr *)&addr, client->name, sizeof(client->name));
client->evws = evws_new_session(req, on_msg_cb, client, 0);
+ if (!client->evws) {
+ free(client);
+ log_d("Failed to create session (for %s)\n", client->name);
+ return;
+ }
+
fd = bufferevent_getfd(evws_connection_get_bufferevent(client->evws));
len = sizeof(addr);
getpeername(fd, (struct sockaddr *)&addr, &len);
- addr2str((struct sockaddr *)&addr, client->name, sizeof(client->name));
log_d("New client joined from %s\n", client->name);
evws_connection_set_closecb(client->evws, on_close_cb, client);