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
afb-stub-ws: Fix a session leak bug
[src/app-framework-binder.git]
/
src
/
afb-stub-ws.c
diff --git
a/src/afb-stub-ws.c
b/src/afb-stub-ws.c
index
d5355ff
..
48ce9e0
100644
(file)
--- a/
src/afb-stub-ws.c
+++ b/
src/afb-stub-ws.c
@@
-485,7
+485,7
@@
static void record_session(struct afb_stub_ws *stubws, struct afb_session *sessi
prv = &s->next;
else {
*prv = s->next;
prv = &s->next;
else {
*prv = s->next;
- afb_session_
add
ref(s->session);
+ afb_session_
un
ref(s->session);
free(s);
}
}
free(s);
}
}
@@
-533,6
+533,8
@@
static void on_call(void *closure, struct afb_proto_ws_call *call, const char *v
goto unconnected;
wreq->xreq.context.validated = 1;
record_session(stubws, wreq->xreq.context.session);
goto unconnected;
wreq->xreq.context.validated = 1;
record_session(stubws, wreq->xreq.context.session);
+ if (wreq->xreq.context.created)
+ afb_session_set_autoclose(wreq->xreq.context.session, 1);
/* makes the call */
wreq->xreq.cred = afb_cred_addref(stubws->cred);
/* makes the call */
wreq->xreq.cred = afb_cred_addref(stubws->cred);