From c8c0e539e6f2d2dbd07b3d20a7f473a423d13a89 Mon Sep 17 00:00:00 2001 From: William McBrine Date: Sun, 13 Jul 2008 09:07:24 +0000 Subject: [PATCH] Ensure zero-termination from PDC_wcstombs(). --- pdcurses/slk.c | 3 +-- pdcurses/util.c | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pdcurses/slk.c b/pdcurses/slk.c index b8dfcca2..2600a2ee 100644 --- a/pdcurses/slk.c +++ b/pdcurses/slk.c @@ -2,7 +2,7 @@ #include -RCSID("$Id: slk.c,v 1.59 2008/07/13 06:36:32 wmcbrine Exp $") +RCSID("$Id: slk.c,v 1.60 2008/07/13 09:07:24 wmcbrine Exp $") /*man-start************************************************************** @@ -284,7 +284,6 @@ char *slk_label(int labnum) wchar_t *wtemp = slk_wlabel(labnum); PDC_wcstombs(temp, wtemp, 32); - temp[32] = '\0'; #else chtype *p; int i; diff --git a/pdcurses/util.c b/pdcurses/util.c index f6fe896e..37a7add7 100644 --- a/pdcurses/util.c +++ b/pdcurses/util.c @@ -2,7 +2,7 @@ #include -RCSID("$Id: util.c,v 1.68 2008/07/13 06:36:32 wmcbrine Exp $") +RCSID("$Id: util.c,v 1.69 2008/07/13 09:07:24 wmcbrine Exp $") /*man-start************************************************************** @@ -308,7 +308,9 @@ size_t PDC_wcstombs(char *dest, const wchar_t *src, size_t n) dest[i] = 0; return i; # else - return wcstombs(dest, src, n); + n = wcstombs(dest, src, n); + dest[n] = '\0'; + return n; # endif } #endif