--- a/src/freeglut_joystick.c +++ b/src/freeglut_joystick.c @@ -1339,7 +1339,8 @@ if( joy->os->is_analog ) { FILE *joyfile; - char joyfname[ 1024 ]; + char* joyfname = NULL; + const char* home = NULL; int noargs, in_no_axes; float axes [ _JS_MAX_AXES ]; @@ -1353,9 +1354,17 @@ if( joy->error ) return; - snprintf( joyfname, sizeof(joyfname), "%s/.joy%drc", getenv( "HOME" ), joy->id ); + home = getenv( "HOME" ); + joy->error =( home == NULL ); + if( joy->error ) + return; + + joy->error =( asprintf( &joyfname, "%s/.joy%drc", home, joy->id ) == -1 ); + if( joy->error ) + return joyfile = fopen( joyfname, "r" ); + free( joyfname ); joy->error =( joyfile == NULL ); if( joy->error ) return; --- freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c.orig 2013-08-04 15:31:38.000000000 -0400 +++ freeglut-2.8.1/progs/demos/CallbackMaker/CallbackMaker.c 2013-08-04 15:32:40.000000000 -0400 @@ -136,7 +136,7 @@ static void Warning(const char *fmt, va_list ap) { - printf("%6d Warning callback:\n"); + printf("Warning callback:\n"); /* print warning message */ vprintf(fmt, ap); @@ -146,7 +146,7 @@ Error(const char *fmt, va_list ap) { char dummy_string[STRING_LENGTH]; - printf("%6d Error callback:\n"); + printf("Error callback:\n"); /* print warning message */ vprintf(fmt, ap);