Browse Source

tal: bounds checking fixes.

First, we need to update the bounds for the group property allocated
with the children property, just in case it's at the end of the
allocations.

Second, we need to allow the tal_check() code to accept the pointer to
the null parent's group property.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 13 years ago
parent
commit
f001ce92f8
1 changed files with 3 additions and 1 deletions
  1. 3 1
      ccan/tal/tal.c

+ 3 - 1
ccan/tal/tal.c

@@ -294,6 +294,7 @@ static struct children *add_child_property(struct tal_hdr *parent,
 
 		init_group_property(&prop->group, prop, child);
 		list_head_init(&prop->group.list);
+		update_bounds(&prop->group);
 	}
 	return prop;
 }
@@ -887,7 +888,8 @@ static bool check_node(struct group *group,
 			name = (struct name *)p;
 			break;
 		}
-		if (p != &null_parent.c.hdr && !in_bounds(p))
+		if (p != &null_parent.c.hdr && p != &null_parent.c.group.hdr
+		    && !in_bounds(p))
 			return check_err(t, errorstr,
 					 "has bad property pointer");