diff options
Diffstat (limited to 'proto/rip')
-rw-r--r-- | proto/rip/auth.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/proto/rip/auth.c b/proto/rip/auth.c index dbfdf8b..3dbec83 100644 --- a/proto/rip/auth.c +++ b/proto/rip/auth.c @@ -50,21 +50,20 @@ rip_incoming_authentication( struct proto *p, struct rip_block_auth *block, stru struct password_item *head; struct rip_md5_tail *tail; - tail = (char *) packet + (block->packetlen - sizeof(struct rip_block_auth)); + tail = (struct rip_md5_tail *) ((char *) packet + (block->packetlen - sizeof(struct rip_block_auth))); head = P_CF->passwords; while (head) { if (head->id == block->keyid) { struct MD5Context ctxt; - int i; char md5sum_packet[16]; char md5sum_computed[16]; - memcpy(md5sum_packet, tail->md5, i); + memcpy(md5sum_packet, tail->md5, 16); password_strncpy(tail->md5, head->password, 16); MD5Init(&ctxt); - MD5Update(&ctxt, packet, block->packetlen ); + MD5Update(&ctxt, (char *) packet, block->packetlen ); MD5Final(md5sum_computed, &ctxt); if (memcmp(md5sum_packet, md5sum_computed, 16)) |