1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-09 00:00:04 +01:00

lws_dir: uv: clean up temp loop on fail

This commit is contained in:
Andy Green 2020-03-19 14:34:29 +00:00
parent 93d6ab929b
commit 44fa7e39e3

View file

@ -48,25 +48,28 @@ lws_dir(const char *dirpath, void *user, lws_dir_callback_function cb)
ir = uv_loop_init(&loop);
if (ir) {
lwsl_err("%s: loop init failed %d\n", __func__, ir);
return 1;
}
ir = uv_fs_scandir(&loop, &req, dirpath, 0, NULL);
if (ir < 0) {
lwsl_err("Scandir on %s failed, errno %d\n", dirpath, LWS_ERRNO);
return 2;
ret = 2;
goto bail;
}
while (uv_fs_scandir_next(&req, &dent) != UV_EOF) {
lde.name = dent.name;
lde.type = (int)dent.type;
if (cb(dirpath, user, &lde))
goto bail;
goto bail1;
}
ret = 0;
bail:
bail1:
uv_fs_req_cleanup(&req);
bail:
while (uv_loop_close(&loop))
;