diff --git a/libraries/liblber/stdio.c b/libraries/liblber/stdio.c index 0c5205ac80..4dd47535b6 100644 --- a/libraries/liblber/stdio.c +++ b/libraries/liblber/stdio.c @@ -55,6 +55,9 @@ int ber_pvt_vsnprintf( char *str, size_t n, const char *fmt, va_list ap ) fclose( f ); signal( SIGPIPE, sig ); + if ( res > 0 && res < n ) { + res = vsprintf( str, fmt, ap ); + } return res; } #endif