From 17dd07e751a7fd3f4fe62811614b41ce9650811a Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Mon, 24 Aug 2020 20:07:27 +0800 Subject: [PATCH] visionstream: fix doube fd close (#2057) * s->ipc_fd counld be closed twice * white space --- selfdrive/common/visionipc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/selfdrive/common/visionipc.c b/selfdrive/common/visionipc.c index bae05ccc77..6820491156 100644 --- a/selfdrive/common/visionipc.c +++ b/selfdrive/common/visionipc.c @@ -90,6 +90,7 @@ int visionstream_init(VisionStream *s, VisionStreamType type, bool tbuffer, Visi err = vipc_send(s->ipc_fd, &p); if (err < 0) { close(s->ipc_fd); + s->ipc_fd = -1; return -1; } @@ -97,6 +98,7 @@ int visionstream_init(VisionStream *s, VisionStreamType type, bool tbuffer, Visi err = vipc_recv(s->ipc_fd, &rp); if (err <= 0) { close(s->ipc_fd); + s->ipc_fd = -1; return -1; } assert(rp.type == VIPC_STREAM_BUFS); @@ -190,5 +192,5 @@ void visionstream_destroy(VisionStream *s) { } } if (s->bufs) free(s->bufs); - close(s->ipc_fd); + if (s->ipc_fd >= 0) close(s->ipc_fd); }