X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;ds=sidebyside;f=server.c;fp=server.c;h=d51e4e0bfe5b33c341ff744eda4f9380bd666844;hb=f56e7627e5fbde3705f9241e6bcaeafe8c123674;hp=09087f7a72396bf01e51782dbebc1b9d1a82eb7c;hpb=1bf98a8af7ed3a0538e8547d8c210c26f8253178;p=paraslash.git diff --git a/server.c b/server.c index 09087f7a..d51e4e0b 100644 --- a/server.c +++ b/server.c @@ -432,15 +432,16 @@ static int command_post_select(struct sched *s, void *context) ret = task_get_notification(sct->task); if (ret < 0) - return ret; + goto fail; for (n = 0; n < sct->num_listen_fds; n++) { ret = command_task_accept(n, s, sct); - if (ret < 0) { - free(sct->listen_fds); - return ret; - } + if (ret < 0) + goto fail; } return 0; +fail: + free(sct->listen_fds); + return ret; } static void init_server_command_task(struct server_command_task *sct,