@@ -106,13 +106,13 @@ attr_container_get_attr_begin(const attr_container_t *attr_cont,
106106
107107 /* tag content */
108108 p += str_len ;
109- if (p - attr_cont -> buf >= total_length )
109+ if (( uint32_t )( p - attr_cont -> buf ) >= total_length )
110110 return NULL ;
111111
112112 /* attribute num */
113113 attr_num = get_uint16 (p );
114114 p += sizeof (uint16_t );
115- if (p - attr_cont -> buf >= total_length )
115+ if (( uint32_t )( p - attr_cont -> buf ) >= total_length )
116116 return NULL ;
117117
118118 if (p_total_length )
@@ -174,7 +174,8 @@ attr_container_find_attr(const attr_container_t *attr_cont, const char *key)
174174
175175 if (str_len == strlen (key ) + 1
176176 && memcmp (p + sizeof (uint16_t ), key , str_len ) == 0 ) {
177- if (p + sizeof (uint16_t ) + str_len - attr_cont -> buf >= total_length )
177+ if ((uint32_t )(p + sizeof (uint16_t ) + str_len
178+ - attr_cont -> buf ) >= total_length )
178179 return NULL ;
179180 return p ;
180181 }
@@ -337,7 +338,7 @@ bool attr_container_set_attr(attr_container_t **p_attr_cont, const char *key,
337338 }
338339
339340 /* Set the attr buf */
340- str_len = strlen (key ) + 1 ;
341+ str_len = ( uint16_t )( strlen (key ) + 1 ) ;
341342 set_uint16 (p , str_len );
342343 p += sizeof (uint16_t );
343344 bh_memcpy_s (p , str_len , key , str_len );
@@ -366,7 +367,7 @@ bool attr_container_set_attr(attr_container_t **p_attr_cont, const char *key,
366367 return true;
367368 }
368369
369- if (p1 - p + msg_end - attr_end >= attr_len ) {
370+ if (( uint32_t )( p1 - p + msg_end - attr_end ) >= attr_len ) {
370371 memmove (p , p1 , attr_end - p1 );
371372 bh_memcpy_s (p + (attr_end - p1 ), attr_len , attr_buf , attr_len );
372373 attr_container_free (attr_buf );
@@ -399,7 +400,7 @@ bool attr_container_set_attr(attr_container_t **p_attr_cont, const char *key,
399400 return true;
400401 } else {
401402 /* key not found */
402- if (msg_end - attr_end >= attr_len ) {
403+ if (( uint32_t )( msg_end - attr_end ) >= attr_len ) {
403404 bh_memcpy_s (attr_end , msg_end - attr_end , attr_buf , attr_len );
404405 attr_container_inc_attr_num (attr_cont );
405406 attr_container_free (attr_buf );
@@ -564,6 +565,9 @@ attr_container_get_attr(const attr_container_t *attr_cont, const char *key)
564565 bh_memcpy_s(&val.var_name, sizeof(val.var_name), addr, len); \
565566 break; \
566567 } \
568+ default: \
569+ bh_assert(0); \
570+ break; \
567571 } \
568572 return val.var_name; \
569573 } while (0)
@@ -819,6 +823,9 @@ void attr_container_dump(const attr_container_t *attr_cont)
819823 get_uint32 (p ));
820824 p += sizeof (uint32_t ) + get_uint32 (p );
821825 break ;
826+ default :
827+ bh_assert (0 );
828+ break ;
822829 }
823830 }
824831
0 commit comments