BUG/MEDIUM: stream: don't crash on out-of-memory
In case pool_alloc() fails in stream_new(), we try to detach the stream from the list before it has been added, dereferencing a NULL. In order to fix it, simply move the LIST_DEL call upwards. This must be backported to 1.8.
This commit is contained in:
parent
dd319a5b1d
commit
e5f229e639
|
@ -289,10 +289,10 @@ struct stream *stream_new(struct session *sess, enum obj_type *origin)
|
|||
flt_stream_release(s, 0);
|
||||
task_free(t);
|
||||
tasklet_free(s->si[1].wait_event.task);
|
||||
LIST_DEL(&s->list);
|
||||
out_fail_alloc_si1:
|
||||
tasklet_free(s->si[0].wait_event.task);
|
||||
out_fail_alloc:
|
||||
LIST_DEL(&s->list);
|
||||
pool_free(pool_head_stream, s);
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue