From: Brendan Shanks bshanks@codeweavers.com
--- tools/wmc/write.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/wmc/write.c b/tools/wmc/write.c index 353a503f674..29251d44dd1 100644 --- a/tools/wmc/write.c +++ b/tools/wmc/write.c @@ -308,6 +308,7 @@ static void write_rcbin(FILE *fp) static char *make_string(WCHAR *uc, int len) { char *str = xmalloc(7*len + 12); + char *str_end = str + (7*len + 12); char *cptr = str; int i; int b; @@ -336,7 +337,7 @@ static char *make_string(WCHAR *uc, int len) } else { - int n = sprintf(cptr, "\x%04x", *uc); + int n = snprintf(cptr, str_end - cptr, "\x%04x", *uc); cptr += n; b += n; }