Переглянути джерело

libobs: Check return value from obs_scene_add_internal

Errors in obs_scene_add_internal would cause a crash as the null item is
passed to various signal handlers.
Richard Stanway 5 роки тому
батько
коміт
4dfb572547
1 змінених файлів з 3 додано та 0 видалено
  1. 3 0
      libobs/obs-scene.c

+ 3 - 0
libobs/obs-scene.c

@@ -1753,6 +1753,9 @@ obs_sceneitem_t *obs_scene_add(obs_scene_t *scene, obs_source_t *source)
 	struct calldata params;
 	struct calldata params;
 	uint8_t stack[128];
 	uint8_t stack[128];
 
 
+	if (!item)
+		return NULL;
+
 	calldata_init_fixed(&params, stack, sizeof(stack));
 	calldata_init_fixed(&params, stack, sizeof(stack));
 	calldata_set_ptr(&params, "scene", scene);
 	calldata_set_ptr(&params, "scene", scene);
 	calldata_set_ptr(&params, "item", item);
 	calldata_set_ptr(&params, "item", item);