alexa-voice-agent-service: fix segmentation fault in release mode 62/22762/1
authorRaquel Medina <raquel.medina@konsulko.com>
Thu, 31 Oct 2019 13:29:36 +0000 (14:29 +0100)
committerRaquel Medina <raquel.medina@konsulko.com>
Thu, 31 Oct 2019 14:26:46 +0000 (15:26 +0100)
Bug-AGL: SPEC-2873

Change-Id: I3ada1a89e57aa879667e2a204a5f7572a59201ed
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0005-fix-segmentation-fault-for-release-build-mode.patch [new file with mode: 0644]
meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb

diff --git a/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0005-fix-segmentation-fault-for-release-build-mode.patch b/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0005-fix-segmentation-fault-for-release-build-mode.patch
new file mode 100644 (file)
index 0000000..5012dfe
--- /dev/null
@@ -0,0 +1,33 @@
+Fix segmentation fault for release build mode
+
+'int IAFBApi::callSync(...)' is missing a return
+statement. When the sdk is compiled in release mode
+executing this code results in a segmentation fault.
+
+According to the C++ standard, a return statement is
+required on a function that returns a non-void value.
+Specifically: <<Flowing off the end of a function is
+equivalent to a return with no value; this results in
+undefined behaviour in a value-returning function.>>
+
+The proposed fix provides the missing return statement
+for IAFBApi's callSync method.
+
+Upstream-Status: Pending
+
+Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
+
+diff --git a/platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBApiImpl.cpp b/platforms/agl/alexa-voiceagent-service/src/plugins/afb/AFBApiImpl.cpp
+index 5ed9bce..e68ef7f 100644
+--- a/src/plugins/afb/AFBApiImpl.cpp
++++ b/src/plugins/afb/AFBApiImpl.cpp
+@@ -77,6 +77,8 @@ int AFBApiImpl::callSync(
+         info = infoStr;
+         free(infoStr);
+     }
++
++    return rc;
+ }
+
+ /// Shim to transfer C++ function to C callback using void*
+
index 939a631..97c168d 100644 (file)
@@ -25,6 +25,7 @@ SRC_URI = "git://github.com/alexa/alexa-auto-sdk.git;protocol=https;branch=2.0 \
            file://0002-update-config.xml.in.patch \
            file://0003-update-audio-device-configuration.patch \
            file://0004-update-config-and-database-paths.patch \
+           file://0005-fix-segmentation-fault-for-release-build-mode.patch \
 "
 SRCREV = "86916d2d8c1702a8be3c88a9012ca56583bcc0c8"