projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d50a141
)
Add simple cycle detection to cf_item_add
author
Arran Cudbard-Bell
<a.cudbardb@freeradius.org>
Wed, 31 Dec 2014 18:51:54 +0000
(13:51 -0500)
committer
Arran Cudbard-Bell
<a.cudbardb@freeradius.org>
Wed, 31 Dec 2014 21:49:04 +0000
(16:49 -0500)
src/main/conffile.c
patch
|
blob
|
history
diff --git
a/src/main/conffile.c
b/src/main/conffile.c
index
3aba18b
..
e9109f0
100644
(file)
--- a/
src/main/conffile.c
+++ b/
src/main/conffile.c
@@
-528,6
+528,10
@@
int cf_pair_replace(CONF_SECTION *cs, CONF_PAIR *cp, char const *value)
*/
void cf_item_add(CONF_SECTION *cs, CONF_ITEM *ci)
{
+ CONF_ITEM *first = ci;
+
+ rad_assert((void *)cs != (void *)ci);
+
if (!cs || !ci) return;
if (!cs->children) {
@@
-542,6
+546,8
@@
void cf_item_add(CONF_SECTION *cs, CONF_ITEM *ci)
* Update the trees (and tail) for each item added.
*/
for (/* nothing */; ci != NULL; ci = ci->next) {
+ rad_assert(ci->next != first); /* simple cycle detection */
+
cs->tail = ci;
/*