diff --git a/src/vcm.c b/src/vcm.c index ca43a31..27cbb89 100644 --- a/src/vcm.c +++ b/src/vcm.c @@ -161,7 +161,9 @@ static int vcm_check_handle_request(VCM_t* vcm, mc_neighbour_s* neighbour) { vcm_rep->vcm.chain->link.buf = malloc(32); vcm_rep->vcm.chain->link.size = 32; memcpy(vcm_rep->vcm.chain->link.buf, coordination->chain.link, 32); - vcm_rep->vcm.chain->area.present = ChainGeoRegion_PR_circle; + vcm_rep->vcm.chain->area = calloc(1, sizeof(OCTET_STRING_t)); + vcm_rep->vcm.chain->area->buf = malloc(4); + vcm_rep->vcm.chain->area->size = 4; } vcm_rep->vcm.maneuverContainer.present = ManeuverContainer_PR_vehicle; @@ -361,7 +363,9 @@ static int intersection_detected(VCM_t* vcm, mc_neighbour_s* neighbour) { vcm_req->vcm.chain->link.buf = malloc(32); vcm_req->vcm.chain->link.size = 32; memcpy(vcm_req->vcm.chain->link.buf, coordination->chain.link, 32); - vcm_req->vcm.chain->area.present = ChainGeoRegion_PR_circle; + vcm_req->vcm.chain->area = calloc(1, sizeof(OCTET_STRING_t)); + vcm_req->vcm.chain->area->buf = malloc(4); + vcm_req->vcm.chain->area->size = 4; } vcm_req->vcm.maneuverContainer.present = ManeuverContainer_PR_vehicle; @@ -644,7 +648,9 @@ static int mk_vcm(uint8_t* vcm_uper, uint16_t* vcm_uper_len) { vcm->vcm.chain->link.buf = malloc(32); vcm->vcm.chain->link.size = 32; memcpy(vcm->vcm.chain->link.buf, coordination->chain.link, 32); - vcm->vcm.chain->area.present = ChainGeoRegion_PR_circle; + vcm->vcm.chain->area = calloc(1, sizeof(OCTET_STRING_t)); + vcm->vcm.chain->area->buf = malloc(4); + vcm->vcm.chain->area->size = 4; } if (facilities.station_type == StationType_roadSideUnit) {