va_start(arg, flags);\r
while (i = va_arg(arg, int)) {\r
TCHAR *localised = message_string(i);\r
- _sntprintf_s((TCHAR *) ofn.lpstrFilter + len, bufsize, _TRUNCATE, localised);\r
+ _sntprintf_s((TCHAR *) ofn.lpstrFilter + len, bufsize - len, _TRUNCATE, localised);\r
len += _tcslen(localised) + 1;\r
LocalFree(localised);\r
TCHAR *filter = browse_filter(i);\r