[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force X.Org X11 SVN commit: r302 - in trunk/debian: . patches



Author: dnusinow
Date: 2005-07-02 16:48:30 -0500 (Sat, 02 Jul 2005)
New Revision: 302

Added:
   trunk/debian/patches/099v_fontserver_fix_SEGV.diff
Modified:
   trunk/debian/TODO
Log:
- Patch audit.  
  - Port 099v_fontserver_fix_SEGV.diff from xfree86 tree.


Modified: trunk/debian/TODO
===================================================================
--- trunk/debian/TODO	2005-07-02 21:15:36 UTC (rev 301)
+++ trunk/debian/TODO	2005-07-02 21:48:30 UTC (rev 302)
@@ -23,7 +23,6 @@
      Have to see whether it's still needed for GNU/kFreeBSD, and if so,
      fix the bug.  See Freedesktop Bugzilla #1902.
 099u_mkdirhier_rewrite.diff -- needs porting
-099v_fontserver_fix_SEGV.diff -- needs porting
 099x_xdm_support_logfile_rotation.diff -- needs porting
 099h_mesa_tdfx_load_right_glide_library.diff 
   -- second hunk changed. I don't know which one is right.

Added: trunk/debian/patches/099v_fontserver_fix_SEGV.diff
===================================================================
--- trunk/debian/patches/099v_fontserver_fix_SEGV.diff	2005-07-02 21:15:36 UTC (rev 301)
+++ trunk/debian/patches/099v_fontserver_fix_SEGV.diff	2005-07-02 21:48:30 UTC (rev 302)
@@ -0,0 +1,24 @@
+$Id$
+
+Fix a SEGV in fs_read_list_info() to correctly handle a reply type of
+FS_Error from fsListFontsWithXInfoReply().  This mirrors a similar check in
+fs_read_open_font(), fs_read_query_info(), fs_read_extent_info(),
+fs_read_glyphs(), and fs_read_list(), so why it was missing from this
+function was a mystery.
+
+This patch by Guillem Jover.  See Debian #294320.
+
+Not submitted to X.Org yet.
+
+diff -ruN xc-old/lib/font/fc/fserve.c xc/lib/font/fc/fserve.c
+--- xc-old/lib/font/fc/fserve.c	2005-05-08 23:36:29.000000000 -0400
++++ xc/lib/font/fc/fserve.c	2005-07-02 17:28:10.000000000 -0400
+@@ -2360,7 +2360,7 @@
+     _fs_free_props (&binfo->info);
+ 
+     rep = (fsListFontsWithXInfoReply *) fs_get_reply (conn, &ret);
+-    if (rep == 0)
++    if (!rep || rep->type == FS_Error)
+     {
+ 	if (ret == FSIO_BLOCK)
+ 	    return StillWorking;



Reply to: