FIX:core:Do not crash if item speed is zero
authorzaxl <zaxl@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 22 Oct 2008 23:11:25 +0000 (23:11 +0000)
committerzaxl <zaxl@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Wed, 22 Oct 2008 23:11:25 +0000 (23:11 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1540 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/route.c

index 3fb20f1..d314771 100644 (file)
@@ -1061,9 +1061,12 @@ route_graph_destroy(struct route_graph *this)
 int
 route_time(int *speedlist, struct item *item, int len)
 {
-       if (item->type < route_item_first || item->type > route_item_last
-               || !speedlist[item->type-route_item_first]) {
-               dbg(0,"street type %d out of range [%d,%d]", item->type, route_item_first, route_item_last);
+       if (item->type < route_item_first || item->type > route_item_last) {
+               dbg(0,"street type %d out of range [%d,%d]\n", item->type, route_item_first, route_item_last);
+               return len*36;
+       }
+       if (!speedlist[item->type-route_item_first]) {
+               dbg(0,"street type %d speed is zero\n", item->type);
                return len*36;
        }
        return len*36/speedlist[item->type-route_item_first];