diff --git a/verifier.c b/verifier.c index ade3082..9acf17d 100644 --- a/verifier.c +++ b/verifier.c @@ -163,16 +163,17 @@ int verifier_verifymsg(char *buffer) { uint8_t binbuf[MAX_BUFSIZE]; size_t sig_len = 0; struct ecdaa_signature_FP256BN sig; + int bytes = 0; int ret = 0; bzero(msg, MAX_MSGSIZE); - ret = ecdaa_decode(current, msg, MAX_MSGSIZE); + bytes = ecdaa_decode(current, msg, MAX_MSGSIZE); msg_len = strlen(msg); - current = ¤t[ret]; + current = ¤t[bytes]; bzero(chksum, MAX_CHKSUMSIZE); - ret = ecdaa_decode(current, chksum, MAX_CHKSUMSIZE); + bytes = ecdaa_decode(current, chksum, MAX_CHKSUMSIZE); chksum_len = strlen(chksum); - current = ¤t[ret]; + current = ¤t[bytes]; has_nym = current[0] - '0'; current = ¤t[1]; bzero(bsn, MAX_BSNSIZE); @@ -182,8 +183,9 @@ int verifier_verifymsg(char *buffer) { #ifdef DEBUG printf("verifier_verifymsg: nym detected, signature length = %ld.\n",sig_len); #endif - ecdaa_decode(current, bsn, MAX_BSNSIZE); + bytes = ecdaa_decode(current, bsn, MAX_BSNSIZE); bsn_len = strlen(bsn); + current = ¤t[bytes]; } else { sig_len = ecdaa_signature_FP256BN_length(); }