Database: Fix array-bounds calculation when applying a format using
%strip to partially loaded (chunked) database results. git-svn-id: svn://svn.rockbox.org/rockbox/branches/v3_9@30251 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
92a578c6a7
commit
6196925915
1 changed files with 5 additions and 4 deletions
|
|
@ -1244,6 +1244,7 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init)
|
|||
dptr->name = str(LANG_TAGNAVI_ALL_TRACKS);
|
||||
dptr++;
|
||||
current_entry_count++;
|
||||
special_entry_count++;
|
||||
}
|
||||
if (offset <= 1)
|
||||
{
|
||||
|
|
@ -1252,12 +1253,12 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init)
|
|||
dptr->extraseek = -1;
|
||||
dptr++;
|
||||
current_entry_count++;
|
||||
special_entry_count++;
|
||||
}
|
||||
special_entry_count+=2;
|
||||
|
||||
total_count += 2;
|
||||
}
|
||||
|
||||
total_count += special_entry_count;
|
||||
|
||||
while (tagcache_get_next(&tcs))
|
||||
{
|
||||
if (total_count++ < offset)
|
||||
|
|
@ -1386,7 +1387,7 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init)
|
|||
if (strip)
|
||||
{
|
||||
dptr = c->dircache;
|
||||
for (i = 0; i < total_count; i++, dptr++)
|
||||
for (i = special_entry_count; i < current_entry_count; i++, dptr++)
|
||||
{
|
||||
int len = strlen(dptr->name);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue