diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c index 0553c500ee600a2d66277b537137ad5423d2ccc9..83f47cc27a59d4ea5ab7e2253e89ddc423d23f2b 100644 --- a/components/drivers/src/pipe.c +++ b/components/drivers/src/pipe.c @@ -20,6 +20,7 @@ * Change Logs: * Date Author Notes * 2012-09-30 Bernard first version. + * 2017-11-08 JasonJiaJie fix memory leak issue when close a pipe. */ #include #include @@ -102,7 +103,7 @@ static int pipe_fops_close(struct dfs_fd *fd) if (device->ref_count == 1) { - rt_free(pipe->fifo); + rt_ringbuffer_destroy(pipe->fifo); pipe->fifo = RT_NULL; } device->ref_count --;