Просмотр исходного кода

libobs/util: Don't use assert for darray_push_back_array

Instead, just check to see whether array and num are valid, and if they
are not, safely return.
jp9000 7 лет назад
Родитель
Сommit
1aeb87ac52
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      libobs/util/darray.h

+ 6 - 4
libobs/util/darray.h

@@ -207,11 +207,13 @@ static inline void *darray_push_back_new(const size_t element_size,
 static inline size_t darray_push_back_array(const size_t element_size,
 		struct darray *dst, const void *array, const size_t num)
 {
-	size_t old_num = dst->num;
-
-	assert(array != NULL);
-	assert(num != 0);
+	size_t old_num;
+	if (!dst)
+		return 0;
+	if (!array || !num)
+		return dst->num;
 
+	old_num = dst->num;
 	darray_resize(element_size, dst, dst->num+num);
 	memcpy(darray_item(element_size, dst, old_num), array,
 			element_size*num);