Constrained Decoding for Secure Code Generation