- fds = calloc(1, num_ports * sizeof(GPollFD));
- device_names = malloc(num_ports * sizeof(char *));
- serial_params = malloc(num_ports * sizeof(char *));
+
+ if (!(fds = g_try_malloc0(num_ports * sizeof(GPollFD)))) {
+ sr_err("ols: %s: fds malloc failed", __func__);
+ goto hw_init_free_ports; /* TODO: SR_ERR_MALLOC. */
+ }
+
+ if (!(device_names = g_try_malloc(num_ports * sizeof(char *)))) {
+ sr_err("ols: %s: device_names malloc failed", __func__);
+ goto hw_init_free_fds; /* TODO: SR_ERR_MALLOC. */
+ }
+
+ if (!(serial_params = g_try_malloc(num_ports * sizeof(char *)))) {
+ sr_err("ols: %s: serial_params malloc failed", __func__);
+ goto hw_init_free_device_names; /* TODO: SR_ERR_MALLOC. */
+ }
+