summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lin <[email protected]>2020-04-12 11:58:33 +0800
committerGitHub <[email protected]>2020-04-12 11:58:33 +0800
commitff09587d2381da4d02fd8a31a73e6271f3ca3e9f (patch)
treecb1810064bcdaab9f671fdbf13298abf4abd50ee
parent5b300113f7fae2042bd82da31c469f916ed01a22 (diff)
[components/drivers] update pipe.c
Fixed stackover flow bug when create pipe->fifo
-rw-r--r--components/drivers/src/pipe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c
index ae87b6f5f2..393370fc9a 100644
--- a/components/drivers/src/pipe.c
+++ b/components/drivers/src/pipe.c
@@ -330,6 +330,11 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag)
if (pipe->fifo == RT_NULL)
{
pipe->fifo = rt_ringbuffer_create(pipe->bufsz);
+ if (pipe->fifo == RT_NULL)
+ {
+ rt_mutex_release(&(pipe->lock));
+ return -RT_ENOMEM;
+ }
}
rt_mutex_release(&(pipe->lock));