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:
authorCampbell Barton <ideasman42@gmail.com>2012-09-11 06:18:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-09-11 06:18:27 +0400
commita0ae47f06c6232a91202bd06ea173b955735596b (patch)
treed0c928e2167037eec5f01277ebe7dc0885168d59 /source/blender/blenlib/intern/scanfill.c
parent652f64762c31bd1cfcac7ae05f184b70713b2034 (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.c14
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;