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/trunk@30247 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
4cb473562e
commit
e7c2449d07
1 changed files with 5 additions and 4 deletions
|
@ -1275,6 +1275,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)
|
||||
{
|
||||
|
@ -1283,12 +1284,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)
|
||||
|
@ -1420,7 +1421,7 @@ static int retrieve_entries(struct tree_context *c, int offset, bool init)
|
|||
if (strip)
|
||||
{
|
||||
dptr = c->cache.entries;
|
||||
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…
Reference in a new issue