Re: [PATCH 2/2] bisect: avoid signed integer overflow
Signed-off-by: John Keeping j...@keeping.me.uk --- 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
[PATCH 2/2] bisect: avoid signed integer overflow
Signed-off-by: John Keeping j...@keeping.me.uk --- 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
Re: [PATCH 2/2] bisect: avoid signed integer overflow
John Keeping j...@keeping.me.uk writes: Signed-off-by: John Keeping j...@keeping.me.uk --- 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