How is overflow handled in word addition steps in Salsa20? I feel like I'm completely missing something there. The quarter-round proceeds as follows:

b ^= (a + d) &lt;&lt;&lt; 7;
c ^= (b + a) &lt;&lt;&lt; 9;
d ^= (c + b) &lt;&lt;&lt; 13;
a ^= (d + c) &lt;&lt;&lt; 18;


So at each step, we're adding words a, b, c, d together. And at the end of 20 quarter-rounds, we add the current state matrix with the previous state.

What I don't see is how overflows are handled. If two words added exceed the value of a word, does it simply wrap around?
Per the Salsa20 page -


  Each modification involves xor'ing into one word a rotated version of the sum of two other words modulo 232.


Adding two uint32s and ignoring the carry / overflow is equivalent to performing addition modulo 232.