summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Hill <johill@lanl.gov>2015-02-23 12:27:05 -0500
committerGedare Bloom <gedare@rtems.org>2015-02-23 12:27:05 -0500
commit0f3388d1f3e98f70ebc2f15d015680747b795328 (patch)
treec8221bc05ea200f6da41137db4d601b06eeff00b
parentrpc: misaligned address exception in get_myaddress.c (diff)
downloadrtems-0f3388d1f3e98f70ebc2f15d015680747b795328.tar.bz2
rpc: misaligned pointer dereference in clnt_udp.c line 363
see #2248
-rw-r--r--cpukit/librpc/src/rpc/clnt_udp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpukit/librpc/src/rpc/clnt_udp.c b/cpukit/librpc/src/rpc/clnt_udp.c
index 369da95f2d..68e085ea11 100644
--- a/cpukit/librpc/src/rpc/clnt_udp.c
+++ b/cpukit/librpc/src/rpc/clnt_udp.c
@@ -89,13 +89,13 @@ struct cu_data {
u_int cu_xdrpos;
u_int cu_sendsz; /* send size */
union {
- u_int32_t *i32;
+ u_int32_t *pi32;
char *c;
} _cu_outbuf;
#define cu_outbuf _cu_outbuf.c
u_int cu_recvsz; /* recv size */
union {
- u_int32_t *i32;
+ u_int32_t i32;
char c[1];
} _cu_inbuf;
#define cu_inbuf _cu_inbuf.c
@@ -360,7 +360,7 @@ send_again:
if (inlen < sizeof(u_int32_t))
continue;
/* see if reply transaction id matches sent id */
- if (*(cu->_cu_inbuf.i32) != *(cu->_cu_outbuf.i32))
+ if ( cu->_cu_inbuf.i32 != *cu->_cu_outbuf.pi32 )
continue;
/* we now assume we have the proper reply */
break;