why memset the additional new bytes?