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; + } }