MODULES-780 Don't blow up on unicode characters.
[puppet-modules/puppetlabs-apt.git] / lib / puppet / provider / apt_key / apt_key.rb
index f8d40728b04a13727d32f1ede6cd2eebe4eb52ac..e5020fe27dd0647702dba262c62b2df3eaa28033 100644 (file)
@@ -26,7 +26,12 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do
   commands   :apt_key  => 'apt-key'
 
   def self.instances
-    key_array = apt_key('list').split("\n").collect do |line|
+    if RUBY_VERSION > '1.8.7'
+      key_output = apt_key('list').encode('UTF-8', 'binary', :invalid => :replace, :undef => :replace, :replace => '')
+    else
+      key_output = apt_key('list')
+    end
+    key_array = key_output.split("\n").collect do |line|
       line_hash = key_line_hash(line)
       next unless line_hash
       expired = false