The following sections of code call read_wide_string() without passing an encoding, leaving it up to the the method to select Encoding.default_external as the encoding for these sections. This is generally okay in most cases but the areas should be reviewed to determine if we should instead be passing Encoding::UTF_8, as we are doing with lib/puppet/util/windows/registry.rb as of
- ADSI.self.computername - adsi.rb:44
- User.current_user_name adsi.rb:240
- Error.format_error_code error.rb:51
- File.resolve_symlink file.rb:285
And make sure all of them come back correctly with weird default external encodings?