diff options
author | Vitaly Buka <vitalybuka@google.com> | 2019-05-21 20:23:10 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2019-05-21 20:23:10 +0000 |
commit | c2b0609a467b315bc99f5c4b25b83c7cfee774b7 (patch) | |
tree | bcf46904c82426c59300428653d649752a8f37d9 /lib/asan/asan_errors.h | |
parent | 03558d4f22c15d397f29d1e60c5bb5b8e50f871a (diff) | |
download | compiler-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.h | 6 |
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(); |