diff --git a/daemon/src/main.c b/daemon/src/main.c index fabb7681b289c5f9544ec82d77450453618c6ef9..8bca43dd217b2e12e0288ad9a3ffa4b7c4648812 100644 --- a/daemon/src/main.c +++ b/daemon/src/main.c @@ -86,24 +86,19 @@ int main() { sigaction(SIGINT, &signal_action, NULL); while (1) { - measurement_t *measurement = malloc(sizeof(measurement_t)); + measurement_t measurement; - if (measurement == NULL) { - perror("Failed to allocate memory for measurement message"); - return EXIT_FAILURE; - } - - if (recv_userspace_message(&userspace_receive_handle, measurement) != 0) { + if (recv_userspace_message(&userspace_receive_handle, &measurement) != 0) { continue; } - printf("Received data from %d: ", measurement->id); - print_measurement_data(measurement); + printf("Received data from %d: ", measurement.id); + print_measurement_data(&measurement); data_t data = { .sender_id = SENDER_ID, .count = 1, - .measurements = measurement, + .measurements = &measurement, }; if (send_kernel_message(&kernel_send_handle, &data) == -1) {