---- firebird-1.5.0.4290/src/jrd/gds.cpp.orig 2004-02-06 05:56:28.000000000 +0100
-+++ firebird-1.5.0.4290/src/jrd/gds.cpp 2004-05-29 15:22:12.000000000 +0200
-@@ -2717,7 +2717,10 @@
+--- Firebird-2.1.1.17910-0/src/jrd/gds.cpp.orig 2008-01-11 13:56:56.000000000 +0100
++++ Firebird-2.1.1.17910-0/src/jrd/gds.cpp 2008-07-18 22:34:52.502041412 +0200
+@@ -2816,7 +2816,9 @@
va_list args;
- VA_START(args, string);
+ va_start(args, string);
- blr_format(control, string, args);
-+ /* blr_format(control, string, ...); */
-+ vsprintf(control->ctl_ptr, string, args);
-+ while (*control->ctl_ptr)
-+ control->ctl_ptr++;
++ Firebird::string temp;
++ temp.vprintf(string, args);
++ control->ctl_string += temp;
+ va_end(args);
offset = 0;
- PRINT_LINE;
- Firebird::status_exception::raise(-1);
+ blr_print_line(control, (SSHORT) offset);