]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11785 [mod_conference] fix scan-build NULL dereferences
authorChris Rienzo <chris@signalwire.com>
Tue, 16 Apr 2019 13:36:43 +0000 (13:36 +0000)
committerAndrey Volk <andywolk@gmail.com>
Wed, 17 Jul 2019 16:22:20 +0000 (20:22 +0400)
src/mod/applications/mod_conference/conference_api.c

index 071a4da715975c7691fc74f6637203dc377a04da..ab0fc7b7ecf51423dcd8d4d9f9c675b1d20e4f26 100644 (file)
@@ -1215,7 +1215,9 @@ switch_status_t conference_api_sub_energy(conference_member_t *member, switch_st
 
        if (member->auto_energy_level && member->energy_level > member->auto_energy_level) {
                member->auto_energy_level  = 0;
-               stream->write_function(stream, "Auto-Energy level exceeded, Auto-Energy mode disabled\n", SWITCH_VA_NONE);
+               if (stream != NULL) {
+                       stream->write_function(stream, "Auto-Energy level exceeded, Auto-Energy mode disabled\n", SWITCH_VA_NONE);
+               }
        }
 
 
@@ -1273,7 +1275,7 @@ void conference_api_set_agc(conference_member_t *member, const char *data)
        }
 
 
-       if (argv[2]) {
+       if (argv[0]) {
                tmp = atoi(argv[0]);
 
                if (tmp > 0) {
@@ -2076,10 +2078,15 @@ switch_status_t conference_api_sub_vid_layout(conference_obj_t *conference, swit
 
 
        if (conference_utils_test_flag(conference, CFLAG_PERSONAL_CANVAS)) {
-               stream->write_function(stream, "+OK Change personal canvas set to layout [%s]\n", vlayout->name);
-               switch_mutex_lock(conference->member_mutex);
-               conference->new_personal_vlayout = vlayout;
-               switch_mutex_unlock(conference->member_mutex);
+               if (vlayout) {
+                       stream->write_function(stream, "+OK Change personal canvas set to layout [%s]\n", vlayout->name);
+                       switch_mutex_lock(conference->member_mutex);
+                       conference->new_personal_vlayout = vlayout;
+                       switch_mutex_unlock(conference->member_mutex);
+               } else {
+                       stream->write_function(stream, "-ERR no layout for personal canvas\n");
+                       return SWITCH_STATUS_SUCCESS;
+               }
        } else {
 
                switch_mutex_lock(conference->canvases[idx]->mutex);