Skip to content

Commit da43f8c

Browse files
committed
build: Skip timing status specifier if clock_gettime fails
Otherwise, we may end up with a division by zero.
1 parent c19186e commit da43f8c

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

build.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ formatstatus(char *buf, size_t len)
208208
++ret;
209209
continue;
210210
}
211+
n = 0;
211212
switch (*fmt) {
212213
case 's':
213214
n = snprintf(buf, len, "%zu", nstarted);
@@ -230,14 +231,14 @@ formatstatus(char *buf, size_t len)
230231
case 'o':
231232
if (clock_gettime(CLOCK_MONOTONIC, &endtime) != 0) {
232233
warn("clock_gettime:");
233-
endtime = starttime;
234+
break;
234235
}
235236
n = snprintf(buf, len, "%.1f", nfinished / ((endtime.tv_sec - starttime.tv_sec) + 0.000000001 * (endtime.tv_nsec - starttime.tv_nsec)));
236237
break;
237238
case 'e':
238239
if (clock_gettime(CLOCK_MONOTONIC, &endtime) != 0) {
239240
warn("clock_gettime:");
240-
endtime = starttime;
241+
break;
241242
}
242243
n = snprintf(buf, len, "%.3f", (endtime.tv_sec - starttime.tv_sec) + 0.000000001 * (endtime.tv_nsec - starttime.tv_nsec));
243244
break;

0 commit comments

Comments
 (0)