diff --git a/fs/inode/fs_inodesearch.c b/fs/inode/fs_inodesearch.c index fd8b147bb6a..fa02871984e 100644 --- a/fs/inode/fs_inodesearch.c +++ b/fs/inode/fs_inodesearch.c @@ -36,7 +36,6 @@ #include #include "inode/inode.h" -#include "fs_heap.h" /**************************************************************************** * Private Function Prototypes @@ -351,19 +350,19 @@ static int _inode_search(FAR struct inode_search_s *desc) { FAR char *buffer = NULL; - ret = fs_heap_asprintf(&buffer, "%s/%s", - desc->relpath, - name); - if (ret > 0) + buffer = lib_get_tempbuffer(PATH_MAX); + if (buffer == NULL) { - fs_heap_free(desc->buffer); - desc->buffer = buffer; - relpath = buffer; - ret = OK; + ret = -ENOMEM; } else { - ret = -ENOMEM; + snprintf(buffer, PATH_MAX, "%s/%s", + desc->relpath, name); + lib_put_tempbuffer(desc->buffer); + desc->buffer = buffer; + relpath = buffer; + ret = OK; } } else @@ -493,13 +492,13 @@ int inode_search(FAR struct inode_search_s *desc) if (*desc->path != '/') { - ret = fs_heap_asprintf(&desc->buffer, "%s/%s", - _inode_getcwd(), desc->path); - if (ret < 0) + desc->buffer = lib_get_tempbuffer(PATH_MAX); + if (desc->buffer == NULL) { return -ENOMEM; } + snprintf(desc->buffer, PATH_MAX, "%s/%s", _inode_getcwd(), desc->path); desc->path = desc->buffer; } diff --git a/fs/inode/inode.h b/fs/inode/inode.h index 08fc7632510..79a241e6dcc 100644 --- a/fs/inode/inode.h +++ b/fs/inode/inode.h @@ -41,8 +41,6 @@ #include #include -#include "fs_heap.h" - /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -65,7 +63,7 @@ { \ if ((d)->buffer != NULL) \ { \ - fs_heap_free((d)->buffer); \ + lib_put_tempbuffer((d)->buffer); \ (d)->buffer = NULL; \ } \ } \