Browse Source

TT#14008 fix mem leak

fixes a merge gone wrong

closes #1512

Change-Id: Ibe114973ab2e0fe7f40c07b6eed20ac9be5ef1cb
pull/1525/head
Richard Fuchs 3 years ago
parent
commit
6e0c4f3e01
1 changed files with 2 additions and 10 deletions
  1. +2
    -10
      daemon/websocket.c

+ 2
- 10
daemon/websocket.c View File

@ -620,12 +620,6 @@ static int websocket_conn_init(struct lws *wsi, void *p) {
return -1; return -1;
memset(wc, 0, sizeof(*wc)); memset(wc, 0, sizeof(*wc));
wc->wsi = wsi;
mutex_init(&wc->lock);
cond_init(&wc->cond);
g_queue_init(&wc->messages);
g_queue_push_tail(&wc->output_q, websocket_output_new());
wc->janus_sessions = g_hash_table_new(g_direct_hash, g_direct_equal);
struct sockaddr_storage sa = {0,}; struct sockaddr_storage sa = {0,};
socklen_t sl = sizeof(sa); socklen_t sl = sizeof(sa);
@ -646,22 +640,20 @@ static int websocket_conn_init(struct lws *wsi, void *p) {
int fd = lws_get_socket_fd(wsi); int fd = lws_get_socket_fd(wsi);
#endif #endif
memset(wc, 0, sizeof(*wc));
if (getpeername(fd, (struct sockaddr *) &sa, &sl)) { if (getpeername(fd, (struct sockaddr *) &sa, &sl)) {
ilogs(http, LOG_ERR, "Failed to get remote address of HTTP/WS connection (fd %i): %s", ilogs(http, LOG_ERR, "Failed to get remote address of HTTP/WS connection (fd %i): %s",
fd, strerror(errno)); fd, strerror(errno));
return -1; return -1;
} else {
endpoint_parse_sockaddr_storage(&wc->endpoint, &sa);
} }
endpoint_parse_sockaddr_storage(&wc->endpoint, &sa);
wc->wsi = wsi; wc->wsi = wsi;
mutex_init(&wc->lock); mutex_init(&wc->lock);
cond_init(&wc->cond); cond_init(&wc->cond);
g_queue_init(&wc->messages); g_queue_init(&wc->messages);
g_queue_push_tail(&wc->output_q, websocket_output_new()); g_queue_push_tail(&wc->output_q, websocket_output_new());
wc->wm = websocket_message_new(wc); wc->wm = websocket_message_new(wc);
wc->janus_sessions = g_hash_table_new(g_direct_hash, g_direct_equal);
return 0; return 0;
} }


Loading…
Cancel
Save