source: patches/glibc-2.4-iconv_fix-1.patch @ fb40919

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since fb40919 was 49174f3, checked in by Jim Gifford <clfs@…>, 18 years ago

r3970@server (orig r1786): jciccone | 2006-06-19 10:15:25 -0700
Added a missing , in the kernel package size.

  • Property mode set to 100644
File size: 2.6 KB
RevLine 
[49174f3]1Submitted By: Joe Ciccone <jciccone@gmail.com>
2Date: 2006-06-19
3Initial Package Version: 2.4
4Upstream Status: In CVS
5Origin: https://bugzilla.samba.org/show_bug.cgi?id=3678
6Description: Fixes a problem that showed up in samba. It would fail to
7             start with the following error.
8
9smbd: gconv_db.c:232: __gconv_release_step: Assertion `step->__end_fct ==
10((void *)0)' failed.
11
12diff -Naur glibc-2.4.orig/iconv/gconv_db.c glibc-2.4/iconv/gconv_db.c
13--- glibc-2.4.orig/iconv/gconv_db.c     2005-12-19 02:25:25.000000000 -0500
14+++ glibc-2.4/iconv/gconv_db.c  2006-06-19 11:42:00.000000000 -0400
15@@ -1,5 +1,5 @@
16 /* Provide access to the collection of available transformation modules.
17-   Copyright (C) 1997-2003, 2004, 2005 Free Software Foundation, Inc.
18+   Copyright (C) 1997-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
19    This file is part of the GNU C Library.
20    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
21 
22@@ -227,7 +227,7 @@
23       step->__shlib_handle = NULL;
24 #endif
25     }
26-  else
27+  else if (step->__shlib_handle == NULL)
28     /* Builtin modules should not have end functions.  */
29     assert (step->__end_fct == NULL);
30 }
31diff -Naur glibc-2.4.orig/iconvdata/Makefile glibc-2.4/iconvdata/Makefile
32--- glibc-2.4.orig/iconvdata/Makefile   2005-11-16 03:15:54.000000000 -0500
33+++ glibc-2.4/iconvdata/Makefile        2006-06-19 11:38:42.000000000 -0400
34@@ -65,7 +65,8 @@
35 include ../Makeconfig
36 
37 ifeq (yes,$(build-shared))
38-tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4
39+tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \
40+       tst-iconv6
41 ifeq ($(have-thread-library),yes)
42 tests += bug-iconv3
43 endif
44diff -Naur glibc-2.4.orig/iconvdata/tst-iconv6.c glibc-2.4/iconvdata/tst-iconv6.c
45--- glibc-2.4.orig/iconvdata/tst-iconv6.c       1969-12-31 19:00:00.000000000 -0500
46+++ glibc-2.4/iconvdata/tst-iconv6.c    2006-06-19 11:38:42.000000000 -0400
47@@ -0,0 +1,35 @@
48+/* BZ #2569 */
49+
50+#include <iconv.h>
51+#include <stdio.h>
52+
53+static int
54+do_test (void)
55+{
56+  iconv_t cd0 = iconv_open ("ISO-8859-7", "UTF-16LE");
57+  if (cd0 == (iconv_t) -1)
58+    {
59+      puts ("first iconv_open failed");
60+      return 1;
61+    }
62+  iconv_t cd1 = iconv_open ("ISO-8859-7", "UTF-16LE");
63+  if (cd1 == (iconv_t) -1)
64+    {
65+      puts ("second iconv_open failed");
66+      return 1;
67+    }
68+  if (iconv_close (cd0) != 0)
69+    {
70+      puts ("first iconv_close failed");
71+      return 1;
72+    }
73+  if (iconv_close (cd1) != 0)
74+    {
75+      puts ("second iconv_close failed");
76+      return 1;
77+    }
78+  return 0;
79+}
80+
81+#define TEST_FUNCTION do_test ()
82+#include "../test-skeleton.c"
Note: See TracBrowser for help on using the repository browser.