Avoid confusing "read prevented write" log messages.
Moving to a "function: message" style avoids ambiguity. Change-Id: If9d590e50265c61725d3673bd03796e65edd2d5e
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user