Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2015-09-09 12:02:32 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-09-09 12:02:32 +0300
commitad86d6ebdca4e36cfd34e5bec5d5b69197a426c6 (patch)
tree531d69d059debad526786562a52384c800c9cdfd
parentc87ee8da2c3ff15777044a68f881ccb1bc03c37a (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.c5
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;
}