Repository: godot
Issue: Executing `Sprite3D.get_property_list` crashes Godot
Labels: bug,topic:rendering,crash

### Godot version

4.0.dev.custom_build. 87de2e7c4

### System information

Ubuntu 21.04 - Nvidia GTX 970, Gnome shell 3.38 X11

### Issue description

When executing
```
func _process(delta) -> void:

	var temp_variable8060 = SpotLight3D.new()
	temp_variable8060.set_projector(CanvasTexture.new())
	temp_variable8060.queue_free()
	var temp_variable8063 = Sprite3D.new()
	temp_variable8063.get_property_list()
```

Godot crashes with this backtrace
```
servers/rendering/renderer_rd/renderer_storage_rd.cpp:8199:30: runtime error: member access within null pointer of type 'struct Texture'

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.dev.custom_build (df376750ce7c861194c203225fd63462b7f29025)
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] godot4s(+0x3039ef0e) [0x558417461f0e] (??:0)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0x41040) [0x7f8001246040] (??:0)
[3] RendererStorageRD::_update_decal_atlas() (??:0)
[4] RendererStorageRD::update_dirty_resources() (??:0)
[5] RendererSceneCull::update_dirty_instances() (??:0)
[6] RendererSceneCull::instance_geometry_get_shader_parameter_list(RID, List<PropertyInfo, DefaultAllocator>*) const (??:0)
[7] RenderingServerDefault::instance_geometry_get_shader_parameter_list(RID, List<PropertyInfo, DefaultAllocator>*) const (??:0)
[8] GeometryInstance3D::_get_property_list(List<PropertyInfo, DefaultAllocator>*) const (??:0)
[9] GeometryInstance3D::_get_property_listv(List<PropertyInfo, DefaultAllocator>*, bool) const (??:0)
[10] SpriteBase3D::_get_property_listv(List<PropertyInfo, DefaultAllocator>*, bool) const (??:0)
[11] Sprite3D::_get_property_listv(List<PropertyInfo, DefaultAllocator>*, bool) const (??:0)
[12] Object::get_property_list(List<PropertyInfo, DefaultAllocator>*, bool) const (??:0)
[13] Object::_get_property_list_bind() const (??:0)
[14] void call_with_variant_args_retc_helper<__UnexistingClass, Array>(__UnexistingClass*, Array (__UnexistingClass::*)() const, Variant const**, Variant&, Callable::CallError&, IndexSequence<>) (??:0)
[15] void call_with_variant_args_retc_dv<__UnexistingClass, Array>(__UnexistingClass*, Array (__UnexistingClass::*)() const, Variant const**, int, Variant&, Callable::CallError&, Vector<Variant> const&) (??:0)
[16] MethodBindTRC<Array>::call(Object*, Variant const**, int, Callable::CallError&) (??:0)
[17] Object::call(StringName const&, Variant const**, int, Callable::CallError&) (??:0)
[18] Variant::call(StringName const&, Variant const**, int, Variant&, Callable::CallError&) (??:0)
[19] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) (??:0)
[20] GDScriptInstance::call(StringName const&, Variant const**, int, Callable::CallError&) (??:0)
[21] Node::_gdvirtual__process_call(double) (??:0)
[22] Node::_notification(int) (??:0)
[23] Node::_notificationv(int, bool) (??:0)
[24] CanvasItem::_notificationv(int, bool) (??:0)
[25] Node2D::_notificationv(int, bool) (??:0)
[26] Object::notification(int, bool) (??:0)
[27] SceneTree::_notify_group_pause(StringName const&, int) (??:0)
[28] SceneTree::process(double) (??:0)
[29] Main::iteration() (??:0)
[30] OS_LinuxBSD::run() (??:0)
[31] godot4s(main+0x40b) [0x55841745f9d4] (??:0)
[32] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xd5) [0x7f800122d565] (??:0)
[33] godot4s(_start+0x2e) [0x55841745f50e] (??:0)
-- END OF BACKTRACE --
================================================================

```


This example was found by fuzzer, so I don't recommend trying understand in what situation such code could be used in real project, because such situation probably doesn't exists.

### Steps to reproduce

Above

### Minimal reproduction project

_No response_