Avoid confusing "read prevented write" log messages.

Moving to a "function: message" style avoids ambiguity.

Change-Id: If9d590e50265c61725d3673bd03796e65edd2d5e
This commit is contained in:
Elliott Hughes
2013-10-15 16:43:38 -07:00
parent dc9d8d050a
commit d1eda33f01
22 changed files with 187 additions and 237 deletions

View File

@@ -42,20 +42,13 @@
* This vsprintf check is called if _FORTIFY_SOURCE is defined and
* greater than 0.
*/
extern "C" int __vsprintf_chk(
char *dest,
int /*flags*/,
size_t dest_len_from_compiler,
const char *format,
va_list va)
{
int ret = vsnprintf(dest, dest_len_from_compiler, format, va);
if ((size_t) ret >= dest_len_from_compiler) {
__fortify_chk_fail("vsprintf prevented write past end of buffer", 0);
}
return ret;
extern "C" int __vsprintf_chk(char* dest, int /*flags*/,
size_t dest_len_from_compiler, const char* format, va_list va) {
int result = vsnprintf(dest, dest_len_from_compiler, format, va);
if ((size_t) result >= dest_len_from_compiler) {
__fortify_chk_fail("vsprintf: prevented write past end of buffer", 0);
}
return result;
}
/*
@@ -69,19 +62,11 @@ extern "C" int __vsprintf_chk(
* This sprintf check is called if _FORTIFY_SOURCE is defined and
* greater than 0.
*/
extern "C" int __sprintf_chk(
char *dest,
int flags,
size_t dest_len_from_compiler,
const char *format, ...)
{
va_list va;
int retval;
va_start(va, format);
retval = __vsprintf_chk(dest, flags,
dest_len_from_compiler, format, va);
va_end(va);
return retval;
extern "C" int __sprintf_chk(char* dest, int flags,
size_t dest_len_from_compiler, const char* format, ...) {
va_list va;
va_start(va, format);
int result = __vsprintf_chk(dest, flags, dest_len_from_compiler, format, va);
va_end(va);
return result;
}