[vlc-commits] [Git][videolan/vlc][master] core: use config count not size for allocating space for options
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Sat Aug 7 10:48:59 UTC 2021
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
d4ea6d02 by Lyndon Brown at 2021-08-07T07:53:09+00:00
core: use config count not size for allocating space for options
`size` counts both actual options **and** hint entries within option
sets. `count` only counts the actual options. we are only interested in
the actual options here, so we should use `count` to allocate only the
memory we actually need. this avoids allocating roughly 1000 pointers'
worth of unused space.
the addition of the assert was requested in review.
- - - - -
1 changed file:
- src/config/core.c
Changes:
=====================================
src/config/core.c
=====================================
@@ -410,13 +410,13 @@ int config_SortConfig (void)
size_t nconf = 0;
for (p = vlc_plugins; p != NULL; p = p->next)
- nconf += p->conf.size;
+ nconf += p->conf.count;
module_config_t **clist = vlc_alloc (nconf, sizeof (*clist));
if (unlikely(clist == NULL))
return VLC_ENOMEM;
- nconf = 0;
+ size_t index = 0;
for (p = vlc_plugins; p != NULL; p = p->next)
{
module_config_t *item, *end;
@@ -427,7 +427,8 @@ int config_SortConfig (void)
{
if (!CONFIG_ITEM(item->i_type))
continue; /* ignore hints */
- clist[nconf++] = item;
+ assert(index < nconf);
+ clist[index++] = item;
}
}
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d4ea6d025363f6cd1eb928d32733ce3a31f89ed1
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/d4ea6d025363f6cd1eb928d32733ce3a31f89ed1
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list