Similar to the previous commit, the GVC plugin loading code copies the names of
registered plugins to a temporary buffer as it iterates through them to allow
mutating the name. And just like the code for mutating the name of the plugin
begin loaded, it would fail to NUL-terminate this temporary buffer, causing a
following strchr to over-read.
The fix again is to simply zero-initialize the temporary buffer, so the
copied-in string is always NUL-terminated.
- out of bounds read when attempting to load a plugin whose name is ≥63
characters
+- out of bounds read when examining a registered plugin whose name is ≥63
+ characters
## [2.47.2] - 2021-05-26
gvplugin_api_t *apis;
gvplugin_installed_t *types;
#define TYPBUFSIZ 64
- char reqtyp[TYPBUFSIZ] = {0}, typ[TYPBUFSIZ];
+ char reqtyp[TYPBUFSIZ] = {0}, typ[TYPBUFSIZ] = {0};
char *reqdep, *dep = NULL, *reqpkg;
int i;
api_t apidep;