1# Address Sanitizer Event Overview 2 3HiAppEvent provides APIs for subscribing to address sanitizer events of the system. 4 5- [Subscribing to Address Sanitizer Events (ArkTS)](hiappevent-watcher-address-sanitizer-events-arkts.md) 6- [Subscribing to Address Sanitizer Events (C/C++)](hiappevent-watcher-address-sanitizer-events-ndk.md) 7 8The **params** parameter in the event information is described as follows: 9 10**params**: 11 12| Name | Type | Description | 13| ------- | ------ | ------------------------- | 14| time | number | Event triggering time, in ms.| 15| bundle_version | string | Application version.| 16| bundle_name | string | Application name.| 17| pid | number | Process ID of the application.| 18| uid | number | User ID of the application.| 19| type | string | Type of the address sanitizer error. For details, see the description of **type**.| 20| external_log | string[] | Path of the error log file. If the directory files exceed the threshold (for details, see **log_over_limit**), new log files may fail to be written. Therefore, delete the log files immediately after they are processed.| 21| log_over_limit | boolean | Whether the size of generated fault log files and existing log files exceeds the upper limit (5 MB). The value **true** indicates that the upper limit is exceeded and logs fail to be written. The value **false** indicates that the upper limit is not exceeded.| 22 23**type**: 24 25| Value | Description | 26| ------- | ------------------------- | 27| alloc-dealloc-mismatch | The memory allocation and release modes do not match.| 28| allocation-size-too-big | The memory allocated is too large for the heap.| 29| calloc-overflow | **calloc()** fails.| 30| container-overflow | The container overflows.| 31| double-free | The same memory address is released more than once.| 32| dynamic-stack-buffer-overflow | The buffer access exceeds the boundary of a stack-allocated object.| 33| global-buffer-overflow | The global buffer overflows.| 34| heap-buffer-overflow | The heap buffer overflows.| 35| heap-use-after-free | The released heap memory is used.| 36| invalid-allocation-alignment | The alignment mode specified in memory allocation is invalid.| 37| memcpy-param-overlap | **memcpy()** does not support overlapping memory regions.| 38| new-delete-type-mismatch | The released memory size does not match the allocated memory size.| 39| stack-buffer-overflow | The stack buffer overflows.| 40| stack-buffer-underflow | The stack buffer underflows.| 41| stack-use-after-return | The stack memory is used after the function has returned.| 42| stack-use-after-scope | The stack memory is out of range.| 43| strcat-param-overlap | The source and destination buffers used for string concatenation overlap.| 44| use-after-poison | The poisoned memory (memory marked as invalid or inaccessible) is accessed or modified.| 45