diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-09-11 06:18:27 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-09-11 06:18:27 +0400 |
commit | a0ae47f06c6232a91202bd06ea173b955735596b (patch) | |
tree | d0c928e2167037eec5f01277ebe7dc0885168d59 /source/blender/blenlib/intern/scanfill.c | |
parent | 652f64762c31bd1cfcac7ae05f184b70713b2034 (diff) |
add some missing NULL checks, a few parts of the code used a pointer then checked it for NULL after.
also made it more clear that some areas assume the pointer isnt null (remove redundant NULL checks).
Diffstat (limited to 'source/blender/blenlib/intern/scanfill.c')
-rw-r--r-- | source/blender/blenlib/intern/scanfill.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c index 4ce718aeb16..32afaba2b5c 100644 --- a/source/blender/blenlib/intern/scanfill.c +++ b/source/blender/blenlib/intern/scanfill.c @@ -423,12 +423,16 @@ static void testvertexnearedge(ScanFillContext *sf_ctx) for (eve = sf_ctx->fillvertbase.first; eve; eve = eve->next) { if (eve->h == 1) { - /* find the edge which has vertex eve */ - ed1 = sf_ctx->filledgebase.first; - while (ed1) { - if (ed1->v1 == eve || ed1->v2 == eve) break; - ed1 = ed1->next; + /* find the edge which has vertex eve, + * note: we _know_ this will crash if 'ed1' becomes NULL + * but this will never happen. */ + for (ed1 = sf_ctx->filledgebase.first; + !(ed1->v1 == eve || ed1->v2 == eve); + ed1 = ed1->next) + { + /* do nothing */ } + if (ed1->v1 == eve) { ed1->v1 = ed1->v2; ed1->v2 = eve; |