diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2019-04-02 14:54:08 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2019-04-11 20:38:43 +0200 |
commit | 4ee02574c30a3195cdbb20bcf72fc4cc65bddb1e (patch) | |
tree | b978dec63af12a2ac8268479dbfcf32d1719aa3d | |
parent | fe311f49703e9691fa7d515ed84a70b996f7f3e8 (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.cpp | 1 | ||||
-rw-r--r-- | signal-composer-binding/source.cpp | 5 |
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; |