From e06bb54d1210c73e894ae7f1213f9032d22ac2b0 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Mon, 4 Jul 2011 17:13:48 +0000 Subject: Initialize the d_names_start pointer correctly in dircache. This should prevent d_names data from being overwritten (likely causing garbage in file browser and other strange symptoms). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30122 a1c6a512-1295-4272-9138-f99709370657 --- firmware/common/dircache.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'firmware/common/dircache.c') diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c index 2ce178c7b9..d5b9af6c07 100644 --- a/firmware/common/dircache.c +++ b/firmware/common/dircache.c @@ -885,7 +885,9 @@ int dircache_build(int last_size) for(unsigned i = 0; i < entry_count; i++) dircache_root[i].d_name -= offset; + d_names_start -= offset; d_names_end -= offset; + /* equivalent to dircache_size + DIRCACHE_RESERVE */ allocated_size = (d_names_end - (char*)dircache_root); reserve_used = 0; -- cgit v1.2.3