From 8fc44d3d36a938222f72a02bf92bb6ac05304c9b Mon Sep 17 00:00:00 2001 From: Mupceet Date: Fri, 8 Jul 2022 18:20:53 +0800 Subject: [PATCH] fix fd holder bug Signed-off-by: Mupceet --- services/init/standard/fd_holder_service.c | 4 +++- test/exec_test/fd_holder_test.cfg | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/services/init/standard/fd_holder_service.c b/services/init/standard/fd_holder_service.c index 71a6bf90..87a77af9 100644 --- a/services/init/standard/fd_holder_service.c +++ b/services/init/standard/fd_holder_service.c @@ -215,14 +215,16 @@ static void HandlerFdHolder(int sock) if (strcmp(action, ACTION_HOLD) == 0) { INIT_LOGI("Service \' %s \' request init to %s fds", serviceName, action); if (HandlerHoldFds(service, fds, fdCount, pollStr) < 0) { + CloseFds(fds, fdCount); } } else if (strcmp(action, ACTION_GET) == 0) { // In this case, ignore fds, just close them if fd passed to init + CloseFds(fds, fdCount); HandlerGetFds(sock, service); } else { INIT_LOGE("Unexpected action: %s", action); + CloseFds(fds, fdCount); } - CloseFds(fds, fdCount); FreeFds(fds); FreeStringVector(msg, msgCount); } diff --git a/test/exec_test/fd_holder_test.cfg b/test/exec_test/fd_holder_test.cfg index ab4183d8..e7eaffc4 100644 --- a/test/exec_test/fd_holder_test.cfg +++ b/test/exec_test/fd_holder_test.cfg @@ -11,7 +11,7 @@ "name" : "fd_holder_test", "path" : ["/system/bin/fd_holder_test", "save", "fd_holder_test", "/data/test/1", "/data/test/2"], "uid" : "root", - "gid" : "system", + "gid" : "system" } ] } \ No newline at end of file -- GitLab