diff options
author | Martin Mares <mj@ucw.cz> | 2001-01-08 11:13:01 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2001-01-08 11:13:01 +0000 |
commit | 8c6ce98b9d9b5c4970e902cf667c1ffb64f04a62 (patch) | |
tree | 9b05a5e12e8569c8ab7f584c8afa8ea6d203fb5d /nest/password.c | |
parent | 32749f493fdaea31f70d8586597febacd2c511d9 (diff) |
Fixed infinite recursion in password_same.
Pavel, please check.
Diffstat (limited to 'nest/password.c')
-rw-r--r-- | nest/password.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/nest/password.c b/nest/password.c index c2706270..ba5d0e61 100644 --- a/nest/password.c +++ b/nest/password.c @@ -54,12 +54,19 @@ password_strncpy(char *to, char *from, int len) int password_same(struct password_item *old, struct password_item *new) { - if (old == new) - return 1; - if ((!old) || (!new)) - return 0; - return ((old->from == new->from) && - (old->to == new->to) && - (old->passive == new->passive) && - password_same(old, new)); + for(;;) + { + if (old == new) + return 1; + if (!old || !new) + return 0; + if (old->from != new->from || + old->to != new->to || + old->passive != new->passive || + old->id != new->id || + strcmp(old->password, new->password)) + return 0; + old = old->next; + new = new->next; + } } |