Re: modulo encrypt problem
From: Richard Bos (rlb_at_hoekstra-uitgeverij.nl)
Date: 10/19/04
- Next message: john blackburn: "Re: modulo encrypt problem"
- Previous message: Peter Karlsson: "Re: Code Review Request: Newbie C programmer"
- In reply to: john blackburn: "modulo encrypt problem"
- Next in thread: john blackburn: "Re: modulo encrypt problem"
- Reply: john blackburn: "Re: modulo encrypt problem"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 19 Oct 2004 14:38:33 GMT
john blackburn <john.blackburnNOSPAMPLS@lintonhealy.co.uk> wrote:
> for (count=0; count < (strlen(pattern)-4); count++) {
>
> digval = ((*(pattern+strlen(pattern)-count-1)-'0')+key[strlen(pattern)-count-1]+digval)%10;
> *(pattern+4+count) = digval+'0';
Assuming that strlen(pattern)>5, you're scribbling over your own input
buffer. When count==0, you read from pattern[strlen(pattern)-1], but you
write to pattern[4]. By the time count gets to strlen(pattern)-5, you
write to pattern[strlen(pattern)-1], but you read from pattern[4]...
which already contains its new value. The original values of the early
members of pattern never even get read. You need to use a second buffer
to hold the output while you still need the original value of pattern.
Richard
- Next message: john blackburn: "Re: modulo encrypt problem"
- Previous message: Peter Karlsson: "Re: Code Review Request: Newbie C programmer"
- In reply to: john blackburn: "modulo encrypt problem"
- Next in thread: john blackburn: "Re: modulo encrypt problem"
- Reply: john blackburn: "Re: modulo encrypt problem"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|