summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2019-04-02 14:54:08 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2019-04-11 20:38:43 +0200
commit4ee02574c30a3195cdbb20bcf72fc4cc65bddb1e (patch)
treeb978dec63af12a2ac8268479dbfcf32d1719aa3d
parentfe311f49703e9691fa7d515ed84a70b996f7f3e8 (diff)
Initializing the source structure.
Make sure that all member's structure are initialized to zero to avoid unexpected behavior. Bug-AGL: SPEC-2312 Change-Id: I0e5c3f7c0d5382de92693660d9812daa6735039d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--signal-composer-binding/signal.cpp1
-rw-r--r--signal-composer-binding/source.cpp5
2 files changed, 6 insertions, 0 deletions
diff --git a/signal-composer-binding/signal.cpp b/signal-composer-binding/signal.cpp
index 7735a08..713fa20 100644
--- a/signal-composer-binding/signal.cpp
+++ b/signal-composer-binding/signal.cpp
@@ -310,6 +310,7 @@ void Signal::onReceivedCB(json_object *eventJ)
CtlSourceT source;
::memset(&source, 0, sizeof(CtlSourceT));
source.uid = id_.c_str();
+ source.api = afbBindingV3root;
source.context = (void*)get_context();
if (onReceived_)
ActionExecOne(&source, onReceived_, json_object_get(eventJ));
diff --git a/signal-composer-binding/source.cpp b/signal-composer-binding/source.cpp
index a33db22..17bcbb4 100644
--- a/signal-composer-binding/source.cpp
+++ b/signal-composer-binding/source.cpp
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#include <cstring>
#include "source.hpp"
#include "signal-composer.hpp"
@@ -47,7 +48,9 @@ void SourceAPI::init()
if(init_)
{
CtlSourceT source;
+ ::memset(&source, 0, sizeof(CtlSourceT));
source.uid = init_->uid;
+ source.api = afbBindingV3root;
ActionExecOne(&source, init_, json_object_new_object());
std::string sourceAPI_events = api_ + "/*";
afb_api_event_handler_add(afbBindingV3root, sourceAPI_events.c_str(), SourceAPI::onSourceEvents, NULL);
@@ -240,7 +243,9 @@ int SourceAPI::makeSubscription(AFB_ReqT request)
if(getSignals_)
{
CtlSourceT source;
+ ::memset(&source, 0, sizeof(CtlSourceT));
source.uid = api_.c_str();
+ source.api = afbBindingV3root;
source.request = request;
json_object *argsSaveJ = getSignals_->argsJ;