diff --git a/src/drivers/pwm_input/pwm_input.cpp b/src/drivers/pwm_input/pwm_input.cpp index 06d660d92c..4d73f6204d 100644 --- a/src/drivers/pwm_input/pwm_input.cpp +++ b/src/drivers/pwm_input/pwm_input.cpp @@ -302,6 +302,7 @@ PWMIN::init() CDev::init(); _reports = new ringbuffer::RingBuffer(2, sizeof(struct pwm_input_s)); + if (_reports == nullptr) { return -ENOMEM; } @@ -490,6 +491,7 @@ PWMIN::read(struct file *filp, char *buffer, size_t buflen) buf++; } } + /* if there was no data, warn the caller */ return ret ? ret : -EAGAIN; }