From 42b2d9874f0bb2626c9fe0c80d208ad5ee618041 Mon Sep 17 00:00:00 2001 From: Abhishek Sharma Date: Fri, 29 Jul 2016 11:29:24 +0900 Subject: [PATCH] Replace handling RM routeData Change-Id: Iae81e35edb4988edb9701014ef2813751ff03a41 Signed-off-by: jihwan.seo Signed-off-by: Abhishek Sharma Reviewed-on: https://gerrit.iotivity.org/gerrit/9853 Reviewed-by: Dave Thaler Tested-by: jenkins-iotivity Reviewed-by: Ashok Babu Channa --- resource/csdk/stack/src/ocstack.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/resource/csdk/stack/src/ocstack.c b/resource/csdk/stack/src/ocstack.c index 7498896..3cd1bbe 100644 --- a/resource/csdk/stack/src/ocstack.c +++ b/resource/csdk/stack/src/ocstack.c @@ -446,7 +446,11 @@ void CopyEndpointToDevAddr(const CAEndpoint_t *in, OCDevAddr *out) out->port = in->port; out->ifindex = in->ifindex; #if defined (ROUTING_GATEWAY) || defined (ROUTING_EP) - memcpy(out->routeData, in->routeData, sizeof(out->routeData)); + /* This assert is to prevent accidental mismatch between address size macros defined in + * RI and CA and cause crash here. */ + OC_STATIC_ASSERT(MAX_ADDR_STR_SIZE_CA == MAX_ADDR_STR_SIZE, + "Address size mismatch between RI and CA"); + memcpy(out->routeData, in->routeData, sizeof(in->routeData)); #endif } @@ -459,7 +463,11 @@ void CopyDevAddrToEndpoint(const OCDevAddr *in, CAEndpoint_t *out) out->flags = OCToCATransportFlags(in->flags); OICStrcpy(out->addr, sizeof(out->addr), in->addr); #if defined (ROUTING_GATEWAY) || defined (ROUTING_EP) - memcpy(out->routeData, in->routeData, sizeof(out->routeData)); + /* This assert is to prevent accidental mismatch between address size macros defined in + * RI and CA and cause crash here. */ + OC_STATIC_ASSERT(MAX_ADDR_STR_SIZE_CA == MAX_ADDR_STR_SIZE, + "Address size mismatch between RI and CA"); + memcpy(out->routeData, in->routeData, sizeof(in->routeData)); #endif out->port = in->port; out->ifindex = in->ifindex; -- 2.7.4