From 2b87fdcb4395348fcff43acf0d65c73579824c1f Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Mon, 4 Jun 2012 02:19:35 +0800 Subject: [PATCH 1/2] Bugfix: Changed all use of ssize_t to size_t. ssize_t is only used in a test, and its comparing to a size_t variable. Fixes #77. --- test/suites/api/test_pack.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/suites/api/test_pack.c b/test/suites/api/test_pack.c index 7e037e4..c7e7251 100644 --- a/test/suites/api/test_pack.c +++ b/test/suites/api/test_pack.c @@ -25,7 +25,7 @@ static void run_tests() value = json_pack("b", 1); if(!json_is_true(value)) fail("json_pack boolean failed"); - if(value->refcount != (ssize_t)-1) + if(value->refcount != (size_t)-1) fail("json_pack boolean refcount failed"); json_decref(value); @@ -33,7 +33,7 @@ static void run_tests() value = json_pack("b", 0); if(!json_is_false(value)) fail("json_pack boolean failed"); - if(value->refcount != (ssize_t)-1) + if(value->refcount != (size_t)-1) fail("json_pack boolean refcount failed"); json_decref(value); @@ -41,7 +41,7 @@ static void run_tests() value = json_pack("n"); if(!json_is_null(value)) fail("json_pack null failed"); - if(value->refcount != (ssize_t)-1) + if(value->refcount != (size_t)-1) fail("json_pack null refcount failed"); json_decref(value); @@ -49,7 +49,7 @@ static void run_tests() value = json_pack("i", 1); if(!json_is_integer(value) || json_integer_value(value) != 1) fail("json_pack integer failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack integer refcount failed"); json_decref(value); @@ -57,7 +57,7 @@ static void run_tests() value = json_pack("I", (json_int_t)555555); if(!json_is_integer(value) || json_integer_value(value) != 555555) fail("json_pack json_int_t failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack integer refcount failed"); json_decref(value); @@ -65,7 +65,7 @@ static void run_tests() value = json_pack("f", 1.0); if(!json_is_real(value) || json_real_value(value) != 1.0) fail("json_pack real failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack real refcount failed"); json_decref(value); @@ -73,7 +73,7 @@ static void run_tests() value = json_pack("s", "test"); if(!json_is_string(value) || strcmp("test", json_string_value(value))) fail("json_pack string failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack string refcount failed"); json_decref(value); @@ -81,7 +81,7 @@ static void run_tests() value = json_pack("{}", 1.0); if(!json_is_object(value) || json_object_size(value) != 0) fail("json_pack empty object failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack empty object refcount failed"); json_decref(value); @@ -89,7 +89,7 @@ static void run_tests() value = json_pack("[]", 1.0); if(!json_is_array(value) || json_array_size(value) != 0) fail("json_pack empty list failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack empty list failed"); json_decref(value); @@ -97,7 +97,7 @@ static void run_tests() value = json_pack("o", json_integer(1)); if(!json_is_integer(value) || json_integer_value(value) != 1) fail("json_pack object failed"); - if(value->refcount != (ssize_t)1) + if(value->refcount != (size_t)1) fail("json_pack integer refcount failed"); json_decref(value); @@ -105,7 +105,7 @@ static void run_tests() value = json_pack("O", json_integer(1)); if(!json_is_integer(value) || json_integer_value(value) != 1) fail("json_pack object failed"); - if(value->refcount != (ssize_t)2) + if(value->refcount != (size_t)2) fail("json_pack integer refcount failed"); json_decref(value); json_decref(value); @@ -116,7 +116,7 @@ static void run_tests() fail("json_pack array failed"); if(!json_is_array(json_object_get(value, "foo"))) fail("json_pack array failed"); - if(json_object_get(value, "foo")->refcount != (ssize_t)1) + if(json_object_get(value, "foo")->refcount != (size_t)1) fail("json_pack object refcount failed"); json_decref(value); From f62b1f5d696a196a4fe97b52da7cc9777e648ab0 Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Mon, 4 Jun 2012 02:17:29 +0800 Subject: [PATCH 2/2] Bugfix: must cast void* to do pointer math Fixes #78. --- test/suites/api/test_memory_funcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/suites/api/test_memory_funcs.c b/test/suites/api/test_memory_funcs.c index ed18ded..4d6a81e 100644 --- a/test/suites/api/test_memory_funcs.c +++ b/test/suites/api/test_memory_funcs.c @@ -55,14 +55,14 @@ static void *secure_malloc(size_t size) /* Store the memory area size in the beginning of the block */ void *ptr = malloc(size + 8); *((size_t *)ptr) = size; - return ptr + 8; + return (char *)ptr + 8; } static void secure_free(void *ptr) { size_t size; - ptr -= 8; + ptr = (char *)ptr - 8; size = *((size_t *)ptr); /*guaranteed_*/memset(ptr, 0, size);