diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-08-07 09:25:17 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-08-07 09:25:17 +0400 |
commit | db0b490e29802e251046ecc3fe4920ca4228bb1e (patch) | |
tree | 8d50d7edc7d7094df5ac3ede2896923d08040eaf /source/blender | |
parent | bc093b4cc485757cd07875a9b5576cbb2567696f (diff) |
fix for crash while appending data. (missing NULL check for newlibadr return value)
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 60559cc2d8d..6bcb1109480 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -9363,10 +9363,14 @@ static void do_versions(FileData *fd, Library *lib, Main *main) /* set new bump for unused slots */ for(a=0; a<MAX_MTEX; a++) { if(ma->mtex[a]) { - if(!ma->mtex[a]->tex) - ma->mtex[a]->texflag |= MTEX_NEW_BUMP; - else if(((Tex*)newlibadr(fd, ma->id.lib, ma->mtex[a]->tex))->type == 0) + tex= ma->mtex[a]->tex; + if(!tex) ma->mtex[a]->texflag |= MTEX_NEW_BUMP; + else { + tex= (Tex*)newlibadr(fd, ma->id.lib, tex); + if(tex && tex->type == 0) /* invalid type */ + ma->mtex[a]->texflag |= MTEX_NEW_BUMP; + } } } } |