Lines Matching refs:descr
25 void GetInfoForStackVar(uptr addr, AddressDescription *descr, AsanThread *t) { in GetInfoForStackVar() argument
26 descr->name[0] = 0; in GetInfoForStackVar()
27 descr->region_address = 0; in GetInfoForStackVar()
28 descr->region_size = 0; in GetInfoForStackVar()
29 descr->region_kind = "stack"; in GetInfoForStackVar()
41 internal_strncat(descr->name, vars[i].name_pos, in GetInfoForStackVar()
42 Min(descr->name_size, vars[i].name_len)); in GetInfoForStackVar()
43 descr->region_address = addr - (access.offset - vars[i].beg); in GetInfoForStackVar()
44 descr->region_size = vars[i].size; in GetInfoForStackVar()
50 void GetInfoForHeapAddress(uptr addr, AddressDescription *descr) { in GetInfoForHeapAddress() argument
53 descr->name[0] = 0; in GetInfoForHeapAddress()
54 descr->region_address = 0; in GetInfoForHeapAddress()
55 descr->region_size = 0; in GetInfoForHeapAddress()
58 descr->region_kind = "heap-invalid"; in GetInfoForHeapAddress()
62 descr->region_address = chunk.Beg(); in GetInfoForHeapAddress()
63 descr->region_size = chunk.UsedSize(); in GetInfoForHeapAddress()
64 descr->region_kind = "heap"; in GetInfoForHeapAddress()
67 void AsanLocateAddress(uptr addr, AddressDescription *descr) { in AsanLocateAddress() argument
68 if (DescribeAddressIfShadow(addr, descr, /* print */ false)) { in AsanLocateAddress()
71 if (GetInfoForAddressIfGlobal(addr, descr)) { in AsanLocateAddress()
78 GetInfoForStackVar(addr, descr, thread); in AsanLocateAddress()
81 GetInfoForHeapAddress(addr, descr); in AsanLocateAddress()
118 AddressDescription descr = { name, name_size, 0, 0, nullptr }; in __asan_locate_address() local
119 AsanLocateAddress(addr, &descr); in __asan_locate_address()
120 if (region_address) *region_address = descr.region_address; in __asan_locate_address()
121 if (region_size) *region_size = descr.region_size; in __asan_locate_address()
122 return descr.region_kind; in __asan_locate_address()