Browse Source

libobs/util: Fix possible null pointer dereference

Never checks to see whether the source dstr is empty before copying, and
will crash if empty.
jp9000 9 years ago
parent
commit
a576439f22
1 changed files with 5 additions and 3 deletions
  1. 5 3
      libobs/util/dstr.h

+ 5 - 3
libobs/util/dstr.h

@@ -237,9 +237,11 @@ static inline void dstr_copy_dstr(struct dstr *dst, const struct dstr *src)
 	if (dst->array)
 		dstr_free(dst);
 
-	dstr_ensure_capacity(dst, src->len + 1);
-	memcpy(dst->array, src->array, src->len + 1);
-	dst->len = src->len;
+	if (src->len) {
+		dstr_ensure_capacity(dst, src->len + 1);
+		memcpy(dst->array, src->array, src->len + 1);
+		dst->len = src->len;
+	}
 }
 
 static inline void dstr_reserve(struct dstr *dst, const size_t capacity)