summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2014-06-11 10:26:23 -0600
committerSimon Glass <sjg@chromium.org>2014-06-23 15:37:24 -0600
commit9c38c070085b566e2fc3f7696cdd4362c2759285 (patch)
tree9b3881aac1b220099455d4a6d90c87c279286910
parent4d907025d6a530c0f3d2e869331e863c3e3cc3c2 (diff)
downloadu-boot-imx-9c38c070085b566e2fc3f7696cdd4362c2759285.zip
u-boot-imx-9c38c070085b566e2fc3f7696cdd4362c2759285.tar.gz
u-boot-imx-9c38c070085b566e2fc3f7696cdd4362c2759285.tar.bz2
sandbox: terminate os_dirent_ls() result list
Each node in the linked-list that os_dirent_ls() returns has its next pointer set only when the next node is created. For the last node in the list, there is no next node, so this never happens, and the next pointer is never initialized. Explicitly initialize the next pointer so that it isn't dangling. Without this, "sb ls" might crash. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/sandbox/cpu/os.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c
index 57d04a4..1c4aa3f 100644
--- a/arch/sandbox/cpu/os.c
+++ b/arch/sandbox/cpu/os.c
@@ -341,6 +341,7 @@ int os_dirent_ls(const char *dirname, struct os_dirent_node **headp)
ret = -ENOMEM;
goto done;
}
+ next->next = NULL;
strcpy(next->name, entry.d_name);
switch (entry.d_type) {
case DT_REG: