@@ -42,7 +42,8 @@ extend_vector(Vector *vector, size_t length)
4242 return false;
4343 }
4444
45- memcpy (data , vector -> data , vector -> size_elem * vector -> max_elems );
45+ bh_memcpy_s (data , vector -> size_elem * length , vector -> data ,
46+ vector -> size_elem * vector -> max_elems );
4647 BH_FREE (vector -> data );
4748
4849 vector -> data = data ;
@@ -109,8 +110,8 @@ bh_vector_set(Vector *vector, uint32 index, const void *elem_buf)
109110
110111 if (vector -> lock )
111112 os_mutex_lock (vector -> lock );
112- memcpy (vector -> data + vector -> size_elem * index , elem_buf ,
113- vector -> size_elem );
113+ bh_memcpy_s (vector -> data + vector -> size_elem * index , vector -> size_elem ,
114+ elem_buf , vector -> size_elem );
114115 if (vector -> lock )
115116 os_mutex_unlock (vector -> lock );
116117 return true;
@@ -131,8 +132,8 @@ bh_vector_get(Vector *vector, uint32 index, void *elem_buf)
131132
132133 if (vector -> lock )
133134 os_mutex_lock (vector -> lock );
134- memcpy (elem_buf , vector -> data + vector -> size_elem * index ,
135- vector -> size_elem );
135+ bh_memcpy_s (elem_buf , vector -> size_elem ,
136+ vector -> data + vector -> size_elem * index , vector -> size_elem );
136137 if (vector -> lock )
137138 os_mutex_unlock (vector -> lock );
138139 return true;
@@ -165,11 +166,12 @@ bh_vector_insert(Vector *vector, uint32 index, const void *elem_buf)
165166
166167 p = vector -> data + vector -> size_elem * vector -> num_elems ;
167168 for (i = vector -> num_elems - 1 ; i > index ; i -- ) {
168- memcpy (p , p - vector -> size_elem , vector -> size_elem );
169+ bh_memcpy_s (p , vector -> size_elem , p - vector -> size_elem ,
170+ vector -> size_elem );
169171 p -= vector -> size_elem ;
170172 }
171173
172- memcpy ( p , elem_buf , vector -> size_elem );
174+ bh_memcpy_s ( p , vector -> size_elem , elem_buf , vector -> size_elem );
173175 vector -> num_elems ++ ;
174176 ret = true;
175177
@@ -199,8 +201,8 @@ bh_vector_append(Vector *vector, const void *elem_buf)
199201 goto unlock_return ;
200202 }
201203
202- memcpy (vector -> data + vector -> size_elem * vector -> num_elems , elem_buf ,
203- vector -> size_elem );
204+ bh_memcpy_s (vector -> data + vector -> size_elem * vector -> num_elems ,
205+ vector -> size_elem , elem_buf , vector -> size_elem );
204206 vector -> num_elems ++ ;
205207 ret = true;
206208
@@ -232,11 +234,12 @@ bh_vector_remove(Vector *vector, uint32 index, void *old_elem_buf)
232234 p = vector -> data + vector -> size_elem * index ;
233235
234236 if (old_elem_buf ) {
235- memcpy (old_elem_buf , p , vector -> size_elem );
237+ bh_memcpy_s (old_elem_buf , vector -> size_elem , p , vector -> size_elem );
236238 }
237239
238240 for (i = index ; i < vector -> num_elems - 1 ; i ++ ) {
239- memcpy (p , p + vector -> size_elem , vector -> size_elem );
241+ bh_memcpy_s (p , vector -> size_elem , p + vector -> size_elem ,
242+ vector -> size_elem );
240243 p += vector -> size_elem ;
241244 }
242245
0 commit comments