fix a bug for short over int