1 |
jpp |
1.1 |
diff -up sudo-1.8.6p3/plugins/sudoers/visudo.c.cyclesegv sudo-1.8.6p3/plugins/sudoers/visudo.c |
2 |
|
|
--- sudo-1.8.6p3/plugins/sudoers/visudo.c.cyclesegv 2013-01-23 12:15:32.493762418 +0100 |
3 |
|
|
+++ sudo-1.8.6p3/plugins/sudoers/visudo.c 2013-01-23 12:40:52.280432614 +0100 |
4 |
|
|
@@ -1075,18 +1075,16 @@ alias_remove_recursive(char *name, int t |
5 |
|
|
bool rval = true; |
6 |
|
|
debug_decl(alias_remove_recursive, SUDO_DEBUG_ALIAS) |
7 |
|
|
|
8 |
|
|
- if ((a = alias_find(name, type)) != NULL) { |
9 |
|
|
+ if ((a = alias_remove(name, type)) != NULL) { |
10 |
|
|
tq_foreach_fwd(&a->members, m) { |
11 |
|
|
if (m->type == ALIAS) { |
12 |
|
|
if (!alias_remove_recursive(m->name, type)) |
13 |
|
|
rval = false; |
14 |
|
|
} |
15 |
|
|
} |
16 |
|
|
+ rbinsert(alias_freelist, a); |
17 |
|
|
} |
18 |
|
|
alias_seqno++; |
19 |
|
|
- a = alias_remove(name, type); |
20 |
|
|
- if (a) |
21 |
|
|
- rbinsert(alias_freelist, a); |
22 |
|
|
debug_return_bool(rval); |
23 |
|
|
} |
24 |
|
|
|