Whoops missed that.
All you have to do then though is check the value of the result. It isn't actually necessary to work out if the end result is in range before performing the calculation in this case.
I guess -32768 / -1 (assuming a 16-bit int) would be a problem but that's the only case.