rtems: Avoid NULL pointer access

The _MPCI_table may be NULL in case multiprocessing is disabled in the
application configuration.
This commit is contained in:
Sebastian Huber
2013-01-10 14:04:10 +01:00
parent a89a2ec596
commit cf8a351cb1
+7 -5
View File
@@ -48,7 +48,6 @@ rtems_status_code rtems_message_queue_create(
CORE_message_queue_Attributes the_msgq_attributes;
#if defined(RTEMS_MULTIPROCESSING)
bool is_global;
size_t max_packet_payload_size;
#endif
if ( !rtems_is_name_valid( name ) )
@@ -76,11 +75,14 @@ rtems_status_code rtems_message_queue_create(
* It seems reasonable to create a que with a large max size,
* and then just send smaller msgs from remote (or all) nodes.
*/
if ( is_global ) {
size_t max_packet_payload_size = _MPCI_table->maximum_packet_size
- MESSAGE_QUEUE_MP_PACKET_SIZE;
max_packet_payload_size = _MPCI_table->maximum_packet_size
- MESSAGE_QUEUE_MP_PACKET_SIZE;
if ( is_global && max_packet_payload_size < max_message_size )
return RTEMS_INVALID_SIZE;
if ( max_message_size > max_packet_payload_size ) {
return RTEMS_INVALID_SIZE;
}
}
#endif
#endif