components/python/pygments/patches/CVE-2015-8557.patch
branchs11u3-sru
changeset 5316 1312ff3232f3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/pygments/patches/CVE-2015-8557.patch	Wed Jan 20 16:02:48 2016 -0800
@@ -0,0 +1,31 @@
+This patch is pulled from upstream; once we pull in 2.1 or newer, it will
+no longer be necessary.
+
+--- Pygments-1.6/pygments/formatters/img.py	Sun Feb  3 01:26:49 2013
++++ Pygments-1.6/pygments/formatters/img.py	Wed Jan 20 13:33:20 2016
+@@ -15,6 +15,8 @@
+ from pygments.util import get_bool_opt, get_int_opt, \
+      get_list_opt, get_choice_opt
+ 
++import subprocess
++
+ # Import this carefully
+ try:
+     from PIL import Image, ImageDraw, ImageFont
+@@ -72,11 +74,11 @@
+             self._create_nix()
+ 
+     def _get_nix_font_path(self, name, style):
+-        from commands import getstatusoutput
+-        exit, out = getstatusoutput('fc-list "%s:style=%s" file' %
+-                                    (name, style))
+-        if not exit:
+-            lines = out.splitlines()
++        proc = subprocess.Popen(['fc-list', "%s:style=%s" % (name, style), 'file'],
++                                stdout=subprocess.PIPE, stderr=None)
++        stdout, _ = proc.communicate()
++        if proc.returncode == 0:
++            lines = stdout.splitlines()
+             if lines:
+                 path = lines[0].strip().strip(':')
+                 return path