From 33aae66d1d54ce5d3ed5622a783a0788d9518969 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 17 Nov 2005 03:04:47 +0000 Subject: [PATCH] Don't crash if a NULL is passed for a "%s" parameter to SDL_SetError(), instead replace it with the string "(null)", like glibc's printf() would do. --- src/SDL_error.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SDL_error.c b/src/SDL_error.c index 03c0ef0d6..cd532e63d 100644 --- a/src/SDL_error.c +++ b/src/SDL_error.c @@ -108,8 +108,10 @@ void SDL_SetError (const char *fmt, ...) case 's': { int index = error->argc; - strncpy((char *)error->args[index].buf, - va_arg(ap, char *), ERR_MAX_STRLEN); + char *str = va_arg(ap, char *); + if (str == NULL) + str = "(null)"; + strncpy((char *)error->args[index].buf, str, ERR_MAX_STRLEN); error->args[index].buf[ERR_MAX_STRLEN-1] = 0; error->argc++; }