From ad86d6ebdca4e36cfd34e5bec5d5b69197a426c6 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 9 Sep 2015 11:02:32 +0200 Subject: [PATCH] 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. --- source/blender/blenlib/intern/path_util.c | 5 ++--- 1 file 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; }