In util/support/utf8_conv.c, the SWAP16 macro is invoked with an argument that has side effects. On platforms where SWAP16 can evaluate its argument twice (including platforms where utf8_conv.c creates a fallback definition for the SWAP16 macro), this can cause a read overrun by a factor of two. Rearrange the data flow to avoid calling SWAP16 with an argument that has side effects. https://github.com/krb5/krb5/commit/9c6c6de0ac5b08c31585350309cb85964b8e01e1 Commit By: tlyu Revision: 22348 Changed Files: U trunk/src/util/support/utf8_conv.c