Own fork of MbedSmartRestMain

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

Revision:
94:010b0f7a0a1a
Parent:
93:61d44636f020
Child:
95:5dfdc8568e9f
--- a/operation/ControlParser.cpp	Mon Apr 20 15:04:23 2015 +0000
+++ b/operation/ControlParser.cpp	Wed Apr 22 11:22:25 2015 +0000
@@ -71,7 +71,7 @@
 void ControlParser::parseOpType(Token& tok)
 {
         if (tok.type == Token::INT) {
-                sscanf(tok.p, "%u", &opType);
+                sscanf(tok.p, "%hu", &opType);
                 if (opType >= 220 && opType <= 222) {
                         ptrPF = &ControlParser::parseDeviceId;
                 } else {
@@ -103,7 +103,7 @@
                         strncpy(line, tok.p, num);
                 _lcdDisplay.setFirstLine(line);
         } else if (opType == 222) {
-                char config[128];
+                char config[128] = {0};
                 size_t num = tok.len<128 ? tok.len : 128;
                 strncpy(config, tok.p, num);
                 ret = _configSync.updateConfiguration(config);
@@ -112,9 +112,11 @@
                 return;
         }
         Operation *p = opool.alloc();
-        p->identifier = op.identifier;
-        p->state = ret ? OPERATION_SUCCESSFUL : OPERATION_FAILED;
-        opool.put(p);
+        if (p) {
+                p->identifier = op.identifier;
+                p->state = ret ? OPERATION_SUCCESSFUL : OPERATION_FAILED;
+                opool.put(p);
+        }
         ptrPF = &ControlParser::parseGetOpOrBayeuxAdvice;
 }