Code Review
/
src
/
app-framework-binder.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix bad memory access at client disconnection
[src/app-framework-binder.git]
/
src
/
afb-ws.c
diff --git
a/src/afb-ws.c
b/src/afb-ws.c
index
b277646
..
fb31e4f
100644
(file)
--- a/
src/afb-ws.c
+++ b/
src/afb-ws.c
@@
-120,6
+120,7
@@
static void aws_disconnect(struct afb_ws *ws, int call_on_hangup)
struct websock *wsi = ws->ws;
if (wsi != NULL) {
ws->ws = NULL;
struct websock *wsi = ws->ws;
if (wsi != NULL) {
ws->ws = NULL;
+ fdev_set_callback(ws->fdev, NULL, 0);
fdev_unref(ws->fdev);
websock_destroy(wsi);
free(ws->buffer.buffer);
fdev_unref(ws->fdev);
websock_destroy(wsi);
free(ws->buffer.buffer);
@@
-133,7
+134,7
@@
static void fdevcb(void *ws, uint32_t revents, struct fdev *fdev)
{
if ((revents & EPOLLIN) != 0)
aws_on_readable(ws);
{
if ((revents & EPOLLIN) != 0)
aws_on_readable(ws);
- if ((revents & EPOLLHUP) != 0)
+
else
if ((revents & EPOLLHUP) != 0)
afb_ws_hangup(ws);
}
afb_ws_hangup(ws);
}