[PATCH] [Msvcr90]: fix an integer overflow on 64 bit system for qsort_s tests

Eric Pouech eric.pouech at orange.fr
Sun Dec 26 11:00:20 CST 2010




A+
---

 dlls/msvcr90/tests/msvcr90.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/dlls/msvcr90/tests/msvcr90.c b/dlls/msvcr90/tests/msvcr90.c
index 449c0bc..24a6517 100644
--- a/dlls/msvcr90/tests/msvcr90.c
+++ b/dlls/msvcr90/tests/msvcr90.c
@@ -509,7 +509,7 @@ static void test_qsort_s(void)
 
     /* overflow without side effects, other overflow values crash */
     g_qsort_s_context_counter = 0;
-    p_qsort_s((void*)arr2, (1 << (8*sizeof(size_t) - 1)) + 1, sizeof(int), intcomparefunc, &g_qsort_s_context_counter);
+    p_qsort_s((void*)arr2, (((size_t)1) << (8*sizeof(size_t) - 1)) + 1, sizeof(int), intcomparefunc, &g_qsort_s_context_counter);
     ok(g_qsort_s_context_counter == 0, "callback shouldn't have been called\n");
     ok(arr2[0] == 23, "should remain unsorted, arr2[0] is %d\n", arr2[0]);
     ok(arr2[1] == 42, "should remain unsorted, arr2[1] is %d\n", arr2[1]);




More information about the wine-patches mailing list