summaryrefslogtreecommitdiff
path: root/source/fitz
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz')
-rw-r--r--source/fitz/error.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/fitz/error.c b/source/fitz/error.c
index dfab5e08..773f747a 100644
--- a/source/fitz/error.c
+++ b/source/fitz/error.c
@@ -27,6 +27,7 @@ void fz_vwarn(fz_context *ctx, const char *fmt, va_list ap)
char buf[sizeof ctx->warn->message];
fz_vsnprintf(buf, sizeof buf, fmt, ap);
+ buf[sizeof(buf) - 1] = 0;
#ifdef USE_OUTPUT_DEBUG_STRING
OutputDebugStringA(buf);
OutputDebugStringA("\n");
@@ -112,7 +113,8 @@ static int fz_fake_throw(fz_context *ctx, int code, const char *fmt, ...)
va_list args;
ctx->error->errcode = code;
va_start(args, fmt);
- vsnprintf(ctx->error->message, sizeof ctx->error->message, fmt, args);
+ fz_vsnprintf(ctx->error->message, sizeof ctx->error->message, fmt, args);
+ ctx->error->message[sizeof(ctx->error->message) - 1] = 0;
va_end(args);
if (code != FZ_ERROR_ABORT)
@@ -164,6 +166,7 @@ void fz_vthrow(fz_context *ctx, int code, const char *fmt, va_list ap)
{
ctx->error->errcode = code;
fz_vsnprintf(ctx->error->message, sizeof ctx->error->message, fmt, ap);
+ ctx->error->message[sizeof(ctx->error->message) - 1] = 0;
if (code != FZ_ERROR_ABORT)
{