summaryrefslogtreecommitdiff
path: root/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx')
-rw-r--r--src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx b/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
index cc64b72..a7b8419 100644
--- a/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
+++ b/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
@@ -410,8 +410,10 @@ GuidanceObj::GetDestinationInformation(uint32_t& Distance, uint32_t& TravelTime,
struct attr destination_time, destination_length;
struct map_rect *mr=get_map_rect();
struct item *item;
- if (!mr)
+ if (!mr) {
+ LOG_ERROR_MSG(gCtx,"GetDestinationInformation: failed to get map rect");
throw DBus::ErrorFailed("internal error:failed to get map rect");
+ }
while (item=map_rect_get_item(mr)) {
if (item_coord_get(item, &c[idx], 1)) {
if (!idx) {
@@ -600,6 +602,10 @@ void
GuidanceObj::GetGuidanceDetails(bool& voiceGuidance, bool& vehicleOnTheRoad, bool& isDestinationReached, int32_t& maneuver)
{
struct map_rect *mr=get_map_rect();
+ if (!mr) {
+ LOG_ERROR_MSG(gCtx,"Failed to get map rect");
+ return;
+ }
struct item *item;
item=get_item(mr);
std::string road_name_after_maneuver;
@@ -618,7 +624,11 @@ void
GuidanceObj::GetManeuversList(const uint16_t& requestedNumberOfManeuvers, const uint32_t& maneuverOffset, uint16_t& numberOfManeuvers,std::vector< ::DBus::Struct< std::vector< ::DBus::Struct< std::string, std::vector< ::DBus::Struct< int32_t, std::string > >, std::string > >, std::string, std::string, std::string, std::string, uint16_t, int32_t, uint32_t, std::vector< ::DBus::Struct< uint32_t, uint32_t, int32_t, int32_t, std::map< int32_t, ::DBus::Struct< uint8_t, ::DBus::Variant > > > > > >& maneuversList)
{
struct map_rect *mr=get_map_rect();
- struct item *item;
+ if (!mr) {
+ LOG_ERROR_MSG(gCtx,"Failed to get map rect");
+ return;
+ }
+ struct item *item;
uint16_t maneuverIndex;
std::map< int32_t, DBusCommonAPIVariant >::iterator it;