diff options
| author | David Lin <[email protected]> | 2020-04-12 11:58:33 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-04-12 11:58:33 +0800 |
| commit | ff09587d2381da4d02fd8a31a73e6271f3ca3e9f (patch) | |
| tree | cb1810064bcdaab9f671fdbf13298abf4abd50ee /components/drivers/src | |
| parent | 5b300113f7fae2042bd82da31c469f916ed01a22 (diff) | |
[components/drivers] update pipe.c
Fixed stackover flow bug when create pipe->fifo
Diffstat (limited to 'components/drivers/src')
| -rw-r--r-- | components/drivers/src/pipe.c | 5 |
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)); |
