Home | History | Annotate | Download | only in asan

Lines Matching refs:descr

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