Patch Name: PHCO_23918 Patch Description: s700_800 10.20 printf(1) patch Creation Date: 01/05/06 Post Date: 01/05/09 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.CMDS-AUX OS-Core.CMDS-AUX Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_23918 Symptoms: PHCO_23918: 1. printf(1) dumps core if argument length is n*8-1 2. printf(1) does not support multibyte characters as input 3. printf(1) gives corrupted output when the argument is long. Defect Description: PHCO_23918: 1. printf(1) dumps core if argument length is n*8-1 as one extra null character has been put for which there is no memory allocated. Resolution: Extra null character insertion has been removed to avoid the problem. 2. printf(1) does not support multibyte characters as input Resolution: Code has been changed to use wide characters which can handle both multibyte and singlebyte characters in input. 3. printf(1) was corrupting the output when the argument length is more than LINE_MAX value. This is because of the static allocation of memory of size LINE_MAX. Resolution: The fix is to allocate the memory dynamically based on the argument length. SR: 8606110866 8606167002 8606167200 Patch Files: /usr/lib/nls/msg/C/printf.cat /usr/bin/printf what(1) Output: /usr/lib/nls/msg/C/printf.cat: None /usr/bin/printf: $Revision: 76.2.1.3 $ PATCH_10_20: printf.o 01/05/06 cksum(1) Output: 3060481274 130 /usr/lib/nls/msg/C/printf.cat 2880753296 28672 /usr/bin/printf Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHCO_23919: s700: 11.00 s800: 11.00 Patch Package Size: 80 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_23918 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_23918.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_23918. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_23918.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_23918.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None