summaryrefslogtreecommitdiffstats
path: root/libc/string/__strcat_chk.c
diff options
context:
space:
mode:
authorGeremy Condra <gcondra@google.com>2012-06-08 14:39:11 -0700
committerGeremy Condra <gcondra@google.com>2012-06-11 11:30:56 -0700
commit009f38478e6a1c47aa355b0aed80b69ba91b9c61 (patch)
tree4ddfedaecd744900e449d68972157afb99f27908 /libc/string/__strcat_chk.c
parent76656afc6dd069fcfda5768e6e54bb85e4e99942 (diff)
downloadbionic-009f38478e6a1c47aa355b0aed80b69ba91b9c61.zip
bionic-009f38478e6a1c47aa355b0aed80b69ba91b9c61.tar.gz
bionic-009f38478e6a1c47aa355b0aed80b69ba91b9c61.tar.bz2
Added actual event logging calls to the FORTIFY_SOURCE methods.
Change-Id: I3bf4fa8678c33187cb8ce4b75e666ddcd24403ab
Diffstat (limited to 'libc/string/__strcat_chk.c')
-rw-r--r--libc/string/__strcat_chk.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libc/string/__strcat_chk.c b/libc/string/__strcat_chk.c
index 7d8c89f..4665d66 100644
--- a/libc/string/__strcat_chk.c
+++ b/libc/string/__strcat_chk.c
@@ -50,11 +50,17 @@ char *__strcat_chk (char *dest, const char *src, size_t dest_buf_size)
size_t sum;
// sum = src_len + dest_len + 1 (with overflow protection)
- if (!safe_add3(&sum, src_len, dest_len, 1U)) abort();
+ if (!safe_add3(&sum, src_len, dest_len, 1U)) {
+ __libc_android_log_print(ANDROID_LOG_FATAL, "libc",
+ "*** strcat integer overflow detected ***\n");
+ __libc_android_log_event_uid(BIONIC_EVENT_STRCAT_INTEGER_OVERFLOW);
+ abort();
+ }
if (sum > dest_buf_size) {
__libc_android_log_print(ANDROID_LOG_FATAL, "libc",
"*** strcat buffer overflow detected ***\n");
+ __libc_android_log_event_uid(BIONIC_EVENT_STRNCAT_BUFFER_OVERFLOW);
abort();
}