Re: [PATCH 2/2] bisect: avoid signed integer overflow
Signed-off-by: John Keeping --- Changes since v1: - Change the function signature instead of casting a value in the function. - This lets us remove an existing cast. bisect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bisect.c b/bisect.c index bd1b7b5..374d9e2 100644 --- a/bisect.c +++ b/bisect.c @@ -525,9 +525,9 @@ struct commit_list *filter_skipped(struct commit_list *list, * is increased by one between each call, but that should not matter * for this application. */ -static int get_prn(int count) { +static unsigned get_prn(unsigned count) { count = count * 1103515245 + 12345; - return ((unsigned)(count/65536) % PRN_MODULO); + return (count/65536) % PRN_MODULO; } /* -- 1.8.2.540.gf023cfe -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/2] bisect: avoid signed integer overflow
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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/2] bisect: avoid signed integer overflow
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); } -- 1.8.2.540.gf023cfe -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html