Index: lib/misc/snprintf.c =================================================================== RCS file: /cvs/xorg/xc/lib/misc/snprintf.c,v retrieving revision 1.2 diff -u -u -r1.2 snprintf.c --- lib/misc/snprintf.c 23 Apr 2004 18:44:25 -0000 1.2 +++ lib/misc/snprintf.c 15 Nov 2004 14:39:21 -0000 @@ -114,7 +114,7 @@ */ #define INS_CHAR( c, sp, bep, cc ) \ { \ - if ( sp < bep ) \ + if ( sp != NULL && sp < bep ) \ *sp++ = c ; \ cc++ ; \ } @@ -392,7 +392,7 @@ boolean_e adjust_width; bool_int is_negative; - if (size == 0) + if (size == 0 && str != NULL) return 0; sp = str; @@ -699,10 +699,12 @@ } fmt++; } - if (cc < size) - str[cc] = NUL; - else - str[size - 1] = NUL; + if (str != NULL) { + if (cc < size) + str[cc] = NUL; + else + str[size - 1] = NUL; + } return cc; }