diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-09-09 12:02:32 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-09-09 12:02:32 +0300 |
commit | ad86d6ebdca4e36cfd34e5bec5d5b69197a426c6 (patch) | |
tree | 531d69d059debad526786562a52384c800c9cdfd | |
parent | c87ee8da2c3ff15777044a68f881ccb1bc03c37a (diff) |
Fix T46056: User Preferences-> install from File freezes Blender.
Own stupid error in recent fix for buffer overflow in `BLI_testextensie_glob()`...
Also found & fixed another potential buffer overflow in this func.
-rw-r--r-- | source/blender/blenlib/intern/path_util.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index 656657aae12..4692af0ffa7 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -1614,13 +1614,12 @@ bool BLI_testextensie_glob(const char *str, const char *ext_fnmatch) if ((ext_next = strchr(ext_step, ';'))) { len_ext = ext_next - ext_step + 1; + BLI_strncpy(pattern, ext_step, (len_ext > sizeof(pattern)) ? sizeof(pattern) : len_ext); } else { - len_ext = sizeof(pattern); + len_ext = BLI_strncpy_rlen(pattern, ext_step, sizeof(pattern)); } - len_ext = BLI_strncpy_rlen(pattern, ext_step, len_ext); - if (fnmatch(pattern, str, FNM_CASEFOLD) == 0) { return true; } |