Memory-safety checks epic
Summary
Switcher should not have memory safety issues.
Address Sanitizer and to some extent Undefined Behaviour Sanitizer can be very helpful in catching memory mistakes.
Here is a report of running the tests with ASAN:
The following tests FAILED:
1 - check_bundle_connspec (Failed)
2 - check_bundle (Failed)
3 - check_encoder_bundles (Failed)
4 - check_global_configuration (Failed)
5 - check_configuration (Failed)
6 - check_basic_connection (Failed)
7 - check_file_decoder (Failed)
8 - check_gst_pipeline (Failed)
9 - check_information_tree (Failed)
10 - check_kind_index (Failed)
11 - check_manager (Failed)
13 - check_shmdelay (Failed)
14 - check_test_full (Failed)
16 - check_ugstelem (Failed)
17 - check_string_utils (Failed)
18 - check_connection_spec (Failed)
19 - check_pjsip (Failed)
20 - check_pjsip_connspecs (Failed)
21 - check_systemusage_plugin (Failed)
23 - check_crashtest_plugin (Failed)
24 - check_cropper (Failed)
25 - check_cropper_caps (Failed)
26 - check_property_plugin (Failed)
27 - check_method_plugin (Failed)
28 - check_custom_save (Failed)
29 - check_signals_plugin (Failed)
30 - check_gst_plugin (Failed)
31 - check_shmdata_quid (Failed)
32 - check_dynamic_writer_quid (Failed)
33 - check_dynamic_reader_quid (Failed)
34 - check_executor (Failed)
35 - check_executor_caps (Failed)
36 - check_glfw_video (Failed)
37 - check_jack (Failed)
38 - check_ladspa (Failed)
39 - check_osc (Failed)
40 - check_midi_plugins (Failed)
41 - check_protocol_curl (Failed)
42 - check_protocol_osc (Failed)
43 - check_pulsesrc (Failed)
44 - check_rtmp (Failed)
45 - check_resample (Failed)
46 - check_ltc_to_jack (Failed)
47 - check_ltc_source (Failed)
48 - check_ltc_diff (Failed)
49 - check_v4l2_plugin (Failed)
50 - check_video_snapshot (Failed)
51 - check_watcher (Failed)
52 - pyquid_01-basic (Failed)
53 - pyquid_02-introspection (Failed)
54 - pyquid_03-infotree (Failed)
55 - pyquid_04-signal (Failed)
56 - pyquid_05-save (Failed)
57 - pyquid_06-subscribe-to-property (Failed)
58 - pyquid_07-invoke-async (Failed)
59 - pyquid_08-quid-infotree-stress (Failed)
60 - pyquid_09-uri-in-video-window (Failed)
61 - pyquid_11-switcher-signals (Failed)
62 - pyquid_12-switcher-session (Failed)
63 - pyquid_13-shmdata-connection (Failed)
64 - pyquid_14-shmdata-dynamic-claws (Failed)
65 - pyquid_15-signal-user-tree (Failed)
66 - pyquid_17-quiddities (Failed)
67 - pyquid_18-switcher-session-read-write (Failed)
68 - pyquid_unittest (Failed)
69 - pyquid_switcherio (Failed)
70 - check_swcam_display (Failed)
71 - check_shmshot (Failed)
72 - check_shmdata2jack (Failed)