diff --git a/src/cam.c b/src/cam.c index fdb49fc..b6f6b7e 100644 --- a/src/cam.c +++ b/src/cam.c @@ -111,8 +111,9 @@ static int mk_cam(facilities_t* facilities, uint8_t *cam, uint32_t *cam_len) { } } else { cam_tx->cam.camParameters.highFrequencyContainer.present = HighFrequencyContainer_PR_rsuContainerHighFrequency; + if (facilities->lightship->pz_len > 0) { cam_tx->cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency.protectedCommunicationZonesRSU = calloc(1, sizeof(ProtectedCommunicationZonesRSU_t)); - + cam_tx->cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency.protectedCommunicationZonesRSU->list.count = facilities->lightship->pz_len; cam_tx->cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency.protectedCommunicationZonesRSU->list.size = facilities->lightship->pz_len * sizeof(void*); cam_tx->cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency.protectedCommunicationZonesRSU->list.array = malloc(facilities->lightship->pz_len * sizeof(void*)); @@ -135,6 +136,7 @@ static int mk_cam(facilities_t* facilities, uint8_t *cam, uint32_t *cam_len) { *cam_tx->cam.camParameters.highFrequencyContainer.choice.rsuContainerHighFrequency.protectedCommunicationZonesRSU->list.array[i]->protectedZoneRadius = *facilities->lightship->pz[i]->protectedZoneRadius; } } + } }