int getTaint(int addr){ taint_iterator it = taintMap.find(addr); if(it != taintMap.end()){ return it->second; }else{ return (0); } }
int clearTaint(int addr){ taint_iterator it = taintMap.find(addr); if(it != taintMap.end()){ taintMap.erase(it); return (1); }else{ return (0); } }
int setTaint(int addr, int tValue){ DEFENSIVE_CHECK_TAINT(tValue); taint_iterator it = taintMap.find(addr); if(it != taintMap.end()){ it->second = tValue; return (1); }else{ taint_pair newTaint (addr, tValue); taintMap.insert(newTaint); return (0); } }
int clearTaint(int addr){ #ifdef WITH_MEM_PROTECT CHECK_ON_DVM_STACK(addr); CHECK_ON_DVM_HEAP(addr); CHECK_ON_DVM_LINEAR_ALLOC(addr); #endif taint_iterator it = taintMap.find(addr); if(it != taintMap.end()){ taintMap.erase(it); return (1); }else{ return (0); } }
int setTaint(int addr, int tValue){ #ifdef WITH_MEM_PROTECT CHECK_ON_DVM_STACK(addr); CHECK_ON_DVM_HEAP(addr); CHECK_ON_DVM_LINEAR_ALLOC(addr); #endif DEFENSIVE_CHECK_TAINT(tValue); taint_iterator it = taintMap.find(addr); if(it != taintMap.end()){ it->second = tValue; return (1); }else{ taint_pair newTaint (addr, tValue); taintMap.insert(newTaint); return (0); } }