diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 09:04:46 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 09:04:46 +0200 |
| commit | 53d39b7212ffe0753d2b10ea39348bc033f06bef (patch) | |
| tree | be756f5cf2e3d4e1b303b05637924e1224ff2d96 /bin | |
| parent | 752b58b3992d1a9cfb51c891deb77007286415ee (diff) | |
| download | conky-theme-udt-53d39b7212ffe0753d2b10ea39348bc033f06bef.tar.gz conky-theme-udt-53d39b7212ffe0753d2b10ea39348bc033f06bef.zip | |
fix: guard now, and clamp a negative age, in the staleness pair
is_stale and age_str were the only functions in the module doing
arithmetic on an unchecked argument: a nil `now` raised, and a raise in
this project is a blank dashboard with no message. Every caller passes
os.time(), which cannot be nil, so this was unreachable, but it is the
same bug already fixed once in icon() and the module header promises
nothing raises.
age_str also printed a negative age when the observation timestamp was
in the future, which a clock skew can produce. "stale -17m" on the card
reads as a broken widget, so the age now floors at zero and such a
reading counts as fresh: weather from the future is not old.
With this the whole module is raise-free, verified across every function
against nil, string, table, boolean, NaN, negative and zero arguments in
all three positions.
Both cases were found by the Task 5 implementer, which was asked to
probe beyond its given tests and reported them without changing the code.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions
