summaryrefslogtreecommitdiff
path: root/cpukit/score
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-21 13:51:43 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-21 13:51:43 +0000
commitdc927fe9f8ce04c352ac2a802c878b9da67b1e8a (patch)
tree553111d96212c3f109776c62969628608dcf75ba /cpukit/score
parentd7196bfd6696be61880fff7db8ca4de044c30748 (diff)
2009-05-21 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1414/cpukit * score/src/objectget.c, score/src/objectgetisr.c, score/src/objectgetnoprotection.c: Tighten math on extraction of index so it is harder to trick by passing in a valid id of an incorrect object class.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/src/objectget.c7
-rw-r--r--cpukit/score/src/objectgetisr.c7
-rw-r--r--cpukit/score/src/objectgetnoprotection.c7
3 files changed, 0 insertions, 21 deletions
diff --git a/cpukit/score/src/objectget.c b/cpukit/score/src/objectget.c
index 1f51c20a4a..5216422759 100644
--- a/cpukit/score/src/objectget.c
+++ b/cpukit/score/src/objectget.c
@@ -57,14 +57,7 @@ Objects_Control *_Objects_Get(
Objects_Control *the_object;
uint32_t index;
-#if defined(RTEMS_MULTIPROCESSING)
index = id - information->minimum_id + 1;
-#else
- /* index = _Objects_Get_index( id ); */
- index = id & 0x0000ffff;
- /* This should work but doesn't always :( */
- /* index = (uint16_t) id; */
-#endif
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
diff --git a/cpukit/score/src/objectgetisr.c b/cpukit/score/src/objectgetisr.c
index 8a53c7b8b5..aca5f0d059 100644
--- a/cpukit/score/src/objectgetisr.c
+++ b/cpukit/score/src/objectgetisr.c
@@ -61,14 +61,7 @@ Objects_Control *_Objects_Get_isr_disable(
uint32_t index;
ISR_Level level;
-#if defined(RTEMS_MULTIPROCESSING)
index = id - information->minimum_id + 1;
-#else
- /* index = _Objects_Get_index( id ); */
- index = id & 0x0000ffff;
- /* This should work but doesn't always :( */
- /* index = (uint16_t ) id; */
-#endif
_ISR_Disable( level );
if ( information->maximum >= index ) {
diff --git a/cpukit/score/src/objectgetnoprotection.c b/cpukit/score/src/objectgetnoprotection.c
index d8df70cd46..deed67fd26 100644
--- a/cpukit/score/src/objectgetnoprotection.c
+++ b/cpukit/score/src/objectgetnoprotection.c
@@ -57,14 +57,7 @@ Objects_Control *_Objects_Get_no_protection(
Objects_Control *the_object;
uint32_t index;
-#if defined(RTEMS_MULTIPROCESSING)
index = id - information->minimum_id + 1;
-#else
- /* index = _Objects_Get_index( id ); */
- index = id & 0x0000ffff;
- /* This should work but doesn't always :( */
- /* index = (uint16_t ) id; */
-#endif
if ( information->maximum >= index ) {
if ( (the_object = information->local_table[ index ]) != NULL ) {