oc_clock: Fix overflow
@@ -33,7 +33,8 @@ oc_clock_encode_time_rfc3339(oc_clock_time_t time, char *out_buf,
timestamp_t now_t = { 0 };
now_t.sec = (int64_t)(time / OC_CLOCK_SECOND);
- now_t.nsec = (int32_t)((time % OC_CLOCK_SECOND) * (OC_NSEC_PER_SEC / OC_CLOCK_SECOND));
+ now_t.nsec =
+ (int32_t)((time % OC_CLOCK_SECOND) * (OC_NSEC_PER_SEC / OC_CLOCK_SECOND));
return timestamp_format(out_buf, out_buf_len, &now_t);
}
@@ -50,8 +51,8 @@ oc_clock_parse_time_rfc3339(const char *in_buf, size_t in_buf_len)
return 0;
}
- oc_clock_time_t t =
- ((in_time.sec * OC_NSEC_PER_SEC) + in_time.nsec) * OC_CLOCK_SECOND / OC_NSEC_PER_SEC;
+ oc_clock_time_t t = in_time.sec * OC_CLOCK_SECOND +
+ (in_time.nsec * OC_CLOCK_SECOND) / OC_NSEC_PER_SEC;
return t;
}
