From: Junio C Hamano Date: Tue, 02 Apr 2013 21:09:09 GMT Subject: Re: [PATCH 2/2] bisect: avoid signed integer overflow Message-ID: <7vzjxgabd6.fsf@alter.siamese.dyndns.org> In-Reply-To: <0cb4456948b0874a1cedc5679a7b23b82e755e94.1364931627.git.john@keeping.me.uk> John Keeping writes: > Signed-off-by: John Keeping > --- > bisect.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/bisect.c b/bisect.c > index bd1b7b5..0d33c6f 100644 > --- a/bisect.c > +++ b/bisect.c > @@ -526,7 +526,7 @@ struct commit_list *filter_skipped(struct commit_list *list, > * for this application. > */ > static int get_prn(int count) { > - count = count * 1103515245 + 12345; > + count = ((unsigned) count) * 1103515245 + 12345; > return ((unsigned)(count/65536) % PRN_MODULO); I wonder static int get_prn(unsigned); or even static unsigned get_prn(unsigned); to lose the existing cast may be a better alternative.