OBSOLETE Patch-ID# 114432-29


Download this patch from My Oracle Support

Your use of the firmware, software and any other materials contained in this update is subject to My Oracle Support Terms of Use, which may be viewed at My Oracle Support.
For further information on patching best practices and resources, please see the following links:
Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.

Keywords: security libc gethostbyname getspnam_r libthread lgroup sunmd5 crypt
Synopsis: Obsoleted by: 114432-30 SunOS 5.9_x86: libc patch
Date: Sep/24/2007


Install Requirements: After installing this patch on an active boot environment, the system will be in a potentially inconsistent state until a reboot is performed. Unless
otherwise specified in the Special Install Instructions below, it is normally safe to apply further patches prior to initiating the reboot due to the relatively small footprint of the patch utilities. Normal operations must not be resumed until after the reboot is performed.
Use Single User Mode (run level S) when installing this patch on an active boot environment. An alternative may be specified in the Special Install Instructions.

Solaris Release: 9_x86

SunOS Release: 5.9_x86

Unbundled Product:

Unbundled Release:

Xref: This patch available for SPARC as patch 112874

Topic: SunOS 5.9_x86: libc patch

Relevant Architectures: i386

Bugs fixed with this patch:

Sun CR # Bug #
412494414958897
415287614965391
416572314969006
422136514983666
422384614984326
425401314993479
427195714999409
435383615032080
447918715071441
448988515075051
451898815084619
452452715086456
453036715088142
453371215089186
465649215101254
466725115104080
466996315104621
467900515106479
468645415107939
468845015108294
469462615109963
470594215112703
470998415113770
474927415124356
474966915124495
475118215124934
475614815126403
475619215126424
476485515129038
476721515129780
476834315130193
476915015130447
476916615130453
477220015131479
478229415134489
478320415134774
478656615135786
479290815137710
479530815138541
479571315138680
479721915139213
481081015143916
481236215144469
481840115146366
481928915146641
482874615149525
483130915150332
483908015152881
484458315154525
484597415154938
485527115157695
486347315159904
487105415162084
487489515163046
487749215163829
487825715164077
488160615165079
488850815167121
489356215168628
489460915169007
489476015169048
490487715172196
491505315174948
493286915179927
495040315184303
495100015184489
495560715185823
495560915185826
495561615185831
495562215185835
496117315187410
496169915187543
498068615192757
498148415192995
504301315210024
504409715210350
505975115214435
506171815214971
506177015214973
506633615216267
507904215220338
508001215220741
508126815221127
617646315231243
618235015233042
627039815265842
628521815271531
634814715296907
639096415315323
639096715315324
640212915320685
644830015339842
650593315367874


Changes incorporated in this version: 4124944

Patches accumulated and obsoleted by this patch: 113112-01 113988-07 115481-01

Patches which conflict with this patch:

Patches required with this patch: 112234-11 (or greater)

Obsoleted by:

Files included with this patch:

/etc/name_to_sysnum
/usr/include/nss_dbdefs.h
/usr/include/sys/resource.h
/usr/include/ucontext.h
/usr/lib/abi/abi_libc.so.1
/usr/lib/abi/abi_libthread.so.1
/usr/lib/libc.a
/usr/lib/libc.so
/usr/lib/libc.so.1
/usr/lib/libp/libc.a
/usr/lib/libthread.so.1
/usr/lib/libthread_db.so.1
/usr/lib/llib-lc
/usr/lib/llib-lc.ln
/usr/lib/mdb/proc/libthread.so
/usr/lib/pics/libc_pic.a
/usr/lib/security/crypt_bsdbf.so.1
/usr/lib/security/crypt_bsdmd5.so.1
/usr/lib/security/crypt_sunmd5.so.1

Problem Description:

4124944 bsearch doesn't work if nel == 0 and bs == NULL
 
(from 114432-28)
 
6505933 bsearch breaks if the table size is larger than 2GB
 
(from 114432-27)
 
6448300 large mnttab can cause stack overrun during Solaris 9 getcwd
 
(from 114432-26)
 
4667251 groups command returns number, not name for large group
5080012 ldap: Roles returns NULL if size of roles exceeds 1022 characters
 
(from 114432-25)
 
6285218 tls: simple ldap client will cause Segmentation fault with SUNWpool
6390964 pthread_once stub does not work
6390967 pthread_equal stub does not work
6402129 strfmon truncates most significant digit when rounding up
 
(from 114432-24)
 
4751182 strtod() with inf or infinity input sets endptr incorrectly
4932869 _nsw_getoneconfig[_v1]() need to check each return from strdup() isn't NULL
 
(from 114432-23)
 
6348147 POSIX timezones 2007 transition dates - U.S. Energy Policy Act of 2005
 
(from 114432-22)
 
6270398 _nss_XbyY_fgets() does not set errno correctly when group entry has >= 2047 characters
 
(from 114432-21)
 
6176463 core dump in printf() functions after patch 108993-35 and kernel patch
6182350 printf() behavior is changed after fixing 4981484
 
(from 114432-20)
 
5079042 problem with swapcontext () and -K PIC flag on Solaris x86
 
(from 114432-19)
 
5081268 getcwd returns null for lofs dir whose parent dir is another lofs mount point
 
(from 114432-18)
 
5066336 /usr/lib/lwp/libthread crashes returning in child of fork1()
 
(from 114432-17)
 
5044097 Netra Performance localtime() degradation with patches
5061718 localtime() may fail to reset daylight variable with multiple timezones
5061770 localtime() transitions off with non-standard POSIX timezones rules
 
(from 114432-16)
 
4980686 C++ inline functions not properly handled in Solaris archive libraries
 
(from 114432-15)
 
5059751 need patch 112874 to accumulate patch 113475 to prevent core dump
 
(from 114432-14)
 
5043013 getlogin_r returns bad data in MT context
 
(from 114432-13)
 
4915053 nss_setent() always fails for setpwent()
 
(from 114432-12)
 
4981484 vsprintf does not perform as well as sprintf
 
(from 114432-11)
 
4756148 crypt(3c) processing of policy.conf doesn't follow case conventions
4818401 K2 uncovers sunmd5 bug
4877492 crypt() is unpredictable with unknown encryption algorithms
4878257 sunmd5:crypt_gensalt_impl() issues with undocumented rounds= param
4881606 crypt(3c) abuses the heap in many ways
4894760 can't use crypt() after using strdtod() in same thread
4950403 crypt_alg_magic symbol not required
4961173 crypt modules are not actually lint-clean
 
(from 114432-10)
 
4783204 Solaris/IA32 should save/restore SSE/SSE2 register set on context switch
4951000 _sse_hw has wrong scope
4955609 _sse_hw is data, not a function
4955607 sseblk.o should be part of ASSYM_DEPS
4955616 SI86FPSTART is broken on Pentium 3 with C++ run-time
4961699 S9U6 corrupts xmm0 registers
4955622 getcontext copies out kernel stack garbage
4893562 add SSE/SSE2 support to dis, kadb, mdb
4855271 x86 CPUs should be "halted" when idle()
4749669 Pentium IV pause optimization
 
(from 114432-09)
 
4844583 _wdbindf may cause deadlock
 
(from 114432-08)
 
4686454 getrusage is much slower on Solaris than competitive boxes
 
(from 114432-07)
 
4489885 qsort performance is not competitive
4656492 mktime() is inefficient, 6X slower than Linux 7.0
4795713 strftime is slow on Solaris when compared to Linux
4782294 localtime_r is slow on Solaris when compared to Linux
4828746 POSIX timezones broken if std. offset & alt offset difference not 1 hour
4165723 localtime() is extremely inefficient, 15X slower than on NT4.0
4831309 POSIX 'pst8pdt' Timezone Pulls April Fool's Stunt Every 400 years
4223846 localtime() problem on non-leap centuries
4839080 improperly specified TZ results in inconsistent behavior
4772200 fcntl(2) is slow on Solaris when compared to Linux
4764855 dup is slow on Solaris when compared to Linux
4812362 getenv is slower than it could be
4871054 regex APIs have segv/performance problems
 
(from 114432-06)
 
4810810 getcontext(2) could be faster
4888508 fix for bugid 4705942 is incomplete in Solaris 9 (breaks utmp_update)
 
(from 114432-05)
 
4797219 pstack is amazingly inefficient for MT targets
4756192 pstack goes into loop, different location than bugid 4524527
4271957 ucontext_t.uc_link points to garbage
4904877 strcmp doesn't work for non-ascii characters on S9U5_05
 
(from 114432-04)
 
        This revision accumulates S9U5 feature point patch 115481-01
        and also adds the following fix:
 
4894609 vold unable to mount a floppy
 
(from 114432-03)
 
4769166 x86 libthread could improve current thread references
4524527 pstack goes into a loop
4479187 dtlogin deadlock while invoking Xreset, induced by longjmp()
4679005 thr_stksegment() reports incorrect stack sizes
4688450 VSU TC setcontex4.c dumps core due to setcontext() if linked with libthread
4769150 libthread should not depend on librt
4786566 mdb dumps core when examining a process linked with old_libthread
4792908 new libthread inherits arbitrary restrictions on mutex attributes from old
4819289 threads: ASSERT(sigequalset(&oldset, &self->ul_sigmask))
4768343 fork() in libthread won't clear deferred signal for the child
 
(from 114432-02)
 
4795308 S9U3 patch missing some binaries
 
(from 114432-01)
 
4254013 need a better mechanism to detect multi-threaded user stack overflow
4533712 makecontext breaks in 64-bit mode
 
(from 113988-07)
 
4874895 Solaris 9 x86 patches for 4353836 need to be respun with correct dependencies
 
(from 113988-06)
 
4353836 if more than 255 file descriptors are already open then gethostbyname fails
4152876 getspnam_r() fails due to use of fopen() in libnsl.so in applications under load
 
(from 113988-05)
 
4705942 invoke_utmp_update(): buffer-overflow bug and pad field written to utmpx wrong
 
(from 113988-04)
 
4530367 after retry timeout - nss_search() no longer retries lookups
4749274 MT-Safe functions such as syslog(3C) and wordexp(3C) cannot use fork()
 
(from 113988-03)
 
4254013 need a better mechanism to detect multi-threaded user stack overflow
4533712 makecontext breaks in 64-bit mode
4518988 we should ship libumem
4709984 findleaks warns about partial read failure
4694626 putenv calls realloc with locks held
 
(from 113988-02)
 
4767215 incorrect output with kP format, losing significant digits
 
(from 113988-01)
 
4221365 readdir_r() is not POSIX compliant
4669963 strong security checks in catgets(3C) break setuid application
 
(from 115481-01)
 
4845974 lgroup APIs needed for observability and performance optimization
4863473 lgrp_home() should be able to take process or thread ID
 
(from 113112-01)
 
4756148 crypt(3c) processing of policy.conf doesn't follow case conventions
4818401 K2 uncovers sunmd5 bug
4877492 crypt() is unpredictable with unknown encryption algorithms
4878257 sunmd5:crypt_gensalt_impl() issues with undocumented rounds= param
4881606 crypt(3c) abuses the heap in many ways
4894760 can't use crypt() after using strdtod() in same thread
4950403 crypt_alg_magic symbol not required
4961173 crypt modules are not actually lint-clean


Patch Installation Instructions:
--------------------------------
 
For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.
 
For Solaris 7-10 releases, refer to the man pages for instructions
on using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
       example# patchadd /var/spool/patch/104945-02
 
The following example removes a patch from a standalone system:
 
       example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.


Special Install Instructions:
-----------------------------
 
Perform patch installation in single user mode.
Reboot the system immediately after patch installation.
 
NOTE 1:  To get the complete fix for "U.S. Energy Policy Act of 2005" which
         will change daylight saving time transition dates of United States
         timezones, beginning in 2007, please also install the following patch:
 
         116545-02 (or greater) Timezone commands and zoneinfo
                                database update Patch
 
         Solaris supports two types of timezones:  POSIX timezones and zoneinfo
         timezones.  This patch incorporates the fix for "U.S. Energy Policy
         Act of 2005" for POSIX timezones, whereas Patch 116545-02 incorporates
         the fix for "U.S. Energy Policy Act of 2005" for zoneinfo timezones.
         In Solaris, the default transition dates for POSIX timezones (when the
         transition date is not specified) use U.S. rules.
 
         Note this patch does not include the fix for DST changes in 2006 for
         Australia.  Those fixes are in aforementioned Patch 116545-02, where
         the zoneinfo timezones for Australia are fixed.
 
NOTE 2:  To get the complete Stack Update feature, please also install
         the following patches:
 
         114433-01 (or greater)  truss patch
         114434-01 (or greater)  procfs patch
 
NOTE 3:  To get the complete "umem: A Userland Slab Allocator" feature,
         please also install the following patches:
 
         114427-01 (or greater)  libumem.so.1
         114428-01 (or greater)  libumem; mdb components patch
         114429-01 (or greater)  llib-lumem patch
         114430-01 (or greater)  abi_libumem.so.1 patch
 
NOTE 4:  To get the complete fix for bugids 4353836 (if more than 255 file
         descriptors are already open then gethostbyname fails) and 4874895
         (Solaris 9 x86 patches for 4353836 need to be respun with correct
         dependencies), please also install the following patches (this
         libc patch must be the 1st patch to be installed):
 
         113719-06 (or greater)  libnsl patch (must be 2nd patch to be installed)
         114354-04 (or greater)  libresolv patch
         115546-02 (or greater)  nss_files patch
         115551-02 (or greater)  nss_user patch
         115543-02 (or greater)  nss_compat patch
 
NOTE 5:  To get the complete Lgroup APIs feature, please also install the
         following patches:
 
         115676-01 (or greater)  liblgrp patch
         114433-04 (or greater)  truss/libproc patch
 
NOTE 6:  To get the complete fix for the bugid 4797219 (pstack amazingly
         inefficient for MT targets), please also install the following
         patch:
 
         114433-04 (or greater) truss/libproc patch
 
NOTE 7:  To get the complete fix for Atlas support: bugs 4810810, 4865731,
         4860183, 4860789, 4785321, 4785304, and 4808811, please also install
         the following patches:
 
         116050-01 (or greater)  fdfs patch      bug 4865731
         116048-01 (or greater)  hsfs patch      bug 4865731
         114719-02 (or greater)  pcfs patch      bug 4865731
         114563-09 (or greater)  ufs patch       bug 4865731 and 4860789
         113108-01 (or greater)  udfs patch      bug 4865731
         113107-01 (or greater)  tmpfs patch     bug 4865731 and 4860183
         113987-08 (or greater)  nfs patch       bug 4865731
         114240-02 (or greater)  cachefs patch   bug 4865731
         116053-01 (or greater)  autofs patch    bug 4865731
         113109-01 (or greater)  xmemfs patch    bug 4865731
 
NOTE 8:  To get the complete fix for bugid 4686454 (getrusage much slower
         on Solaris than competitive boxes), please also install the
         following patch:
 
         114433-05 (or greater)  truss patch
 
NOTE 9:  To get the complete fix for bugid 4915053 (nss_setent() always fails
         for setpwent()), please also install the following patch:
 
         113719-12 (or greater)  ibnsl rpc.nispasswdd Patch
 
NOTE 10: To get the complete fix for bugids 4667251 (groups command returns
         number, not name for large group) and 5080012 (ldap: Roles returns
         NULL if size of roles exceeeds 1022 characters), please also install
         the following patches:
 
         114328-08 (or greater)  nss_ldap.so.1 patch
         115543-04 (or greater)  nss_compat.so.1 patch
         115546-03 (or greater)  nss_files.so.1 patch
         123371-01 (or greater)  libsecdb.so.1 patch


README -- Last modified date: Saturday, November 10, 2012