diff options
author | truckman <truckman@FreeBSD.org> | 2016-05-17 05:05:30 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2016-05-17 05:05:30 +0000 |
commit | 2c197aaf2a67b9a5173b27366cfeb8fb525b0fd6 (patch) | |
tree | 07c5e4456b245209527a53fabc2c04ecccfa5c0f | |
parent | 50a0e585ab2a0f0f437db9a602b22c766a747fdc (diff) | |
download | FreeBSD-src-2c197aaf2a67b9a5173b27366cfeb8fb525b0fd6.zip FreeBSD-src-2c197aaf2a67b9a5173b27366cfeb8fb525b0fd6.tar.gz |
swprintf() and apparently wcsftime() want the their output buffer size
specified in terms of the the number of wide characters and not
sizeof(buffer).
Reported by: Coverity
CID: 1007605, 1007606
MFC after: 1 week
-rw-r--r-- | usr.bin/ncal/ncal.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.bin/ncal/ncal.c b/usr.bin/ncal/ncal.c index 48b8c1a..5a5cbc3 100644 --- a/usr.bin/ncal/ncal.c +++ b/usr.bin/ncal/ncal.c @@ -642,8 +642,8 @@ monthrangeb(int y, int m, int jd_flag, int before, int after) wprintf(L"%-*ls ", mw, wcenter(ws, year[i].name, mw)); else { - swprintf(ws, sizeof(ws), L"%-ls %d", - year[i].name, M2Y(m + i)); + swprintf(ws, sizeof(ws)/sizeof(ws[0]), + L"%-ls %d", year[i].name, M2Y(m + i)); wprintf(L"%-*ls ", mw, wcenter(ws1, ws, mw)); } printf("\n"); @@ -958,7 +958,7 @@ mkweekdays(struct weekdays *wds) for (i = 0; i != 7; i++) { tm.tm_wday = (i+1) % 7; - wcsftime(buf, sizeof(buf), L"%a", &tm); + wcsftime(buf, sizeof(buf)/sizeof(buf[0]), L"%a", &tm); for (len = 2; len > 0; --len) { if ((width = wcswidth(buf, len)) <= 2) break; |