nodogsplash: fix invalid pointer bug when clock is turned back (#456)
Signed-off-by: Moritz Warning <moritzwarning@web.de>
This commit is contained in:
parent
a952ac8c88
commit
1cca73b59f
2 changed files with 52 additions and 1 deletions
|
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
|||
PKG_NAME:=nodogsplash
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_VERSION:=3.2.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/nodogsplash/nodogsplash/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_SOURCE:=nodogsplash-$(PKG_VERSION).tar.gz
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
From af548c1f885e46309baa6aa175a3822fd16afb2a Mon Sep 17 00:00:00 2001
|
||||
From: Moritz Warning <moritzwarning@web.de>
|
||||
Date: Thu, 14 Mar 2019 17:19:40 +0100
|
||||
Subject: [PATCH] fix invalid pointer when clock is turned back
|
||||
|
||||
---
|
||||
src/util.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/util.c b/src/util.c
|
||||
index 621062d..77228bf 100644
|
||||
--- a/src/util.c
|
||||
+++ b/src/util.c
|
||||
@@ -362,14 +362,14 @@ format_duration(time_t from, time_t to, char buf[64])
|
||||
{
|
||||
int days, hours, minutes, seconds;
|
||||
long long int secs;
|
||||
+ const char *neg = "";
|
||||
|
||||
if (from <= to) {
|
||||
secs = to - from;
|
||||
} else {
|
||||
secs = from - to;
|
||||
// Prepend minus sign
|
||||
- buf[0] = '-';
|
||||
- buf += 1;
|
||||
+ neg = "-";
|
||||
}
|
||||
|
||||
days = secs / (24 * 60 * 60);
|
||||
@@ -381,13 +381,13 @@ format_duration(time_t from, time_t to, char buf[64])
|
||||
seconds = secs;
|
||||
|
||||
if (days > 0) {
|
||||
- sprintf(buf, "%dd %dh %dm %ds", days, hours, minutes, seconds);
|
||||
+ snprintf(buf, 64, "%s%dd %dh %dm %ds", neg, days, hours, minutes, seconds);
|
||||
} else if (hours > 0) {
|
||||
- sprintf(buf, "%dh %dm %ds", hours, minutes, seconds);
|
||||
+ snprintf(buf, 64, "%s%dh %dm %ds", neg, hours, minutes, seconds);
|
||||
} else if (minutes > 0) {
|
||||
- sprintf(buf, "%dm %ds", minutes, seconds);
|
||||
+ snprintf(buf, 64, "%s%dm %ds", neg, minutes, seconds);
|
||||
} else {
|
||||
- sprintf(buf, "%ds", seconds);
|
||||
+ snprintf(buf, 64, "%s%ds", neg, seconds);
|
||||
}
|
||||
|
||||
return buf;
|
||||
--
|
||||
2.20.1
|
||||
|
Loading…
Reference in a new issue