If a person promises something in a Dua along the lines that I will not do such and such a sin again, but then breaks the promise, will he have to expiate for it?
If a person promises Allah (SWT) to do or not to do something, he must fulfill his promise with out fail. If he breaks his promise, he has then committed a sinful act and must expiate by either fasting two months or feeding sixty poor believers. This is called Kaffara of 'Ahd كفارة العهد.
Wassalam.