I don't see the logic behind this null addition. Unsigned is unsigned, so you can occupy the highest bit without permission....
r and s are 32 bytes numbers, so, as it can one additional byte because of above, you have size(r)=0x20 or 0x21
So, I guess 0x1F, 0x1E, 0x1D... are allowed.
Thanks a lot!