summaryrefslogtreecommitdiff
path: root/lib/asan/asan_errors.h
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2019-05-21 20:23:10 +0000
committerVitaly Buka <vitalybuka@google.com>2019-05-21 20:23:10 +0000
commitc2b0609a467b315bc99f5c4b25b83c7cfee774b7 (patch)
treebcf46904c82426c59300428653d649752a8f37d9 /lib/asan/asan_errors.h
parent03558d4f22c15d397f29d1e60c5bb5b8e50f871a (diff)
downloadcompiler-rt-c2b0609a467b315bc99f5c4b25b83c7cfee774b7.tar.gz
[asan] Replace assignments with internal_memcpy ErrorDescription
For consistency with nearby code and to avoid interceptors during reports. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@361304 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_errors.h')
-rw-r--r--lib/asan/asan_errors.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/asan/asan_errors.h b/lib/asan/asan_errors.h
index f0939ae32..364b361d2 100644
--- a/lib/asan/asan_errors.h
+++ b/lib/asan/asan_errors.h
@@ -404,8 +404,10 @@ struct ErrorGeneric : ErrorBase {
#define ASAN_DEFINE_ERROR_KIND(name) kErrorKind##name,
#define ASAN_ERROR_DESCRIPTION_MEMBER(name) Error##name name;
-#define ASAN_ERROR_DESCRIPTION_CONSTRUCTOR(name) \
- ErrorDescription(Error##name const &e) : kind(kErrorKind##name), name(e) {}
+#define ASAN_ERROR_DESCRIPTION_CONSTRUCTOR(name) \
+ ErrorDescription(Error##name const &e) : kind(kErrorKind##name) { \
+ internal_memcpy(&name, &e, sizeof(name)); \
+ }
#define ASAN_ERROR_DESCRIPTION_PRINT(name) \
case kErrorKind##name: \
return name.Print();