Skip to content
Permalink
Browse files

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.
  • Loading branch information
icculus committed Nov 17, 2005
1 parent 0b8bd70 commit 33aae66d1d54ce5d3ed5622a783a0788d9518969
Showing with 4 additions and 2 deletions.
  1. +4 −2 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++;
}

0 comments on commit 33aae66

Please sign in to comment.