fix gcc warning actually it is a bug