Hello Oldrich,
+
+void procd_state_event(struct blob_buf *b)
+{
+ void *c, *s;
+ struct timespec *ts_start;
+ struct timespec *ts_stop;
+ struct timespec ts_active;
+ struct timespec ts_res;
+ double duration;
+
+ c = blobmsg_open_table(b, "state");
+
+ for (int i = 0; i < __STATE_MAX - 1; i++)
+ {
+ ts_start = &s_event[i].ts_event;
+ ts_stop = &s_event[i+1].ts_event;
Hi, this looks like out-of-bounds access for the last iteration.
I would say, this is ok, because the loop
'for (int i = 0; i < __STATE_MAX - 1; i++)' does 'i < __STATE_MAX - 1'
and so the STATE_HALT would never hit but could use the memory to read
ts_stop with 'ts_stop = &s_event[i+1].ts_event;'
Best regards
Florian
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel