fix pointer overflow bug in floating point printf