]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
avoid potential div by zero
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 15 Dec 2006 17:01:01 +0000 (17:01 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 15 Dec 2006 17:01:01 +0000 (17:01 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3670 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index 6a6678b254e51b1a9c8a121bc3d3e5e1a86cd835..566c20562ed37c987fc17c93f74a8bc5f0ab2c7a 100644 (file)
@@ -3256,14 +3256,15 @@ static void *SWITCH_THREAD_FUNC input_thread_run(switch_thread_t *thread, void *
                        int16_t *data;
 
                        data = read_frame->data;
-                       samples = read_frame->datalen / sizeof(*data);
+                       if ((samples = read_frame->datalen / sizeof(*data))) {
 
-                       for (i = 0; i < samples; i++) {
-                               energy += abs(data[j]);
-                               j += read_codec->implementation->number_of_channels;
-                       }
+                for (i = 0; i < samples; i++) {
+                    energy += abs(data[j]);
+                    j += read_codec->implementation->number_of_channels;
+                }
 
-                       score = energy / samples;
+                score = energy / samples;
+            }
 
                        if (score > energy_level) {
                                uint32_t diff = score - energy_level;