On 04/10/2020 06:18, Kinsey Moore wrote:

Fix spmsgq_err01 on systems with 64-bit pointers and correct max value
mismatches and inaccuracies that are more noticable on 64-bit systems.
---
  testsuites/sptests/spmsgq_err01/init.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/testsuites/sptests/spmsgq_err01/init.c 
b/testsuites/sptests/spmsgq_err01/init.c
index c68d30da16..9a6a8855be 100644
--- a/testsuites/sptests/spmsgq_err01/init.c
+++ b/testsuites/sptests/spmsgq_err01/init.c
@@ -101,7 +101,7 @@ rtems_task Init(
    /* not enough memory for messages */
    status = rtems_message_queue_create(
      Queue_name[ 1 ],
-    SIZE_MAX / ( sizeof( uintptr_t ) + sizeof( CORE_message_queue_Buffer ) ),
+    UINT_MAX / ( sizeof( uintptr_t ) + sizeof( CORE_message_queue_Buffer ) ),
I think this should be UINT32_MAX. However, on a 64-bit system this test case doesn't produce the intended error case.
      1,
I think we need here something like MIN(SIZE_MAX / UINT32_MAX, 1)).
      RTEMS_DEFAULT_ATTRIBUTES,
      &Queue_id[ 1 ]
@@ -116,8 +116,8 @@ rtems_task Init(
    /* too large a request for messages */
    status = rtems_message_queue_create(
      Queue_name[ 1 ],
-    INT_MAX,
-    INT_MAX,
+    UINT_MAX,
UINT32_MAX?
+    SIZE_MAX - sizeof( uintptr_t ) + 1 - sizeof( CORE_message_queue_Buffer ),
      RTEMS_DEFAULT_ATTRIBUTES,
      &Queue_id[ 1 ]
    );
I am not sure about these changes.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to