Blob Blame History Raw
From: Stefan Sayer <stefan.sayer@googlemail.com>
Date: Fri, 31 Jul 2015 01:08:43 +0200
Subject: [PATCH] b/f:config:properly handle misconfigured cps_limit

(cherry picked from commit 724158076848b1ef59ac2209abe3f2c9c11c55e8)

diff --git a/core/AmConfig.cpp b/core/AmConfig.cpp
index a1350f9c..7ac1d9f1 100644
--- a/core/AmConfig.cpp
+++ b/core/AmConfig.cpp
@@ -632,17 +632,18 @@ int AmConfig::readConfiguration()
   }
 
   if(cfg.hasParameter("cps_limit")){ 
-    unsigned int CPSLimit;
+    unsigned int CPSLimit = 0;
     vector<string> limit = explode(cfg.getParameter("cps_limit"), ";");
     if (limit.size() != 3) {
       ERROR("invalid cps_limit specified.\n");
     } else {
       if (str2i(limit[0], CPSLimit) || str2i(limit[1], CPSLimitErrCode)) {
 	ERROR("invalid cps_limit specified.\n");
+      } else {
+	CPSLimitErrReason = limit[2];
+	AmSessionContainer::instance()->setCPSLimit(CPSLimit);
       }
-      CPSLimitErrReason = limit[2];
     }
-    AmSessionContainer::instance()->setCPSLimit(CPSLimit);
   }
 
   if(cfg.hasParameter("accept_forked_dialogs"))