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:
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r--source/blender/blenloader/intern/readfile.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 140a48acef2..d2551bf484d 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2700,13 +2700,16 @@ static void *restore_pointer_by_name(Main *mainp, ID *id, int user)
if(id) {
lb= wich_libbase(mainp, GS(id->name));
- idn= lb->first;
- while(idn) {
- if( strcmp(idn->name, id->name)==0) {
- if(user && idn->us==0) idn->us++;
- break;
+
+ if(lb) { // there's still risk of checking corrupt mem (freed Ids in oops)
+ idn= lb->first;
+ while(idn) {
+ if( strcmp(idn->name, id->name)==0) {
+ if(user && idn->us==0) idn->us++;
+ break;
+ }
+ idn= idn->next;
}
- idn= idn->next;
}
}
return idn;