Patch Name: PHCO_19559 Patch Description: s700_800 10.20 sort(1) cumulative patch Creation Date: 99/08/30 Post Date: 99/09/15 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.UX-CORE Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_19559 Symptoms: PHCO_19559: 1. sort(1) gives an error "... more than 20480 characters" on ja_JP.SJIS locale. 2. sort -u fails to remove duplicates in non-C locales 3. sort(1) misbehaves for huge data intermittently PHCO_17799: sort -k1 option fails for ascii characters whose value is > 127. PHCO_15833: sort(1) reports errors while sorting binary data. sort(1) will not support binary data after 10.20. PHCO_13500: UTF8 changes incorporated for various options for sort PHCO_10589: sort(1) behaves incorrectly when the field_end for a sort key is not specified PHCO_8768: Customer uses command "sort -t "|" " on HP-UX 10.01. He gets an error message: "A line of the input file contains more than 20480 characters." This error does only occur if LANG is set to de_DE.iso88591, with LANG="C" everything works fine. Defect Description: PHCO_19559: 1. When record length is equal to the space available on the buffer, sort(1) gives an error "... more than 20480 characters" for non C locales. This is because sort(1) was not able to store the NULL appended record in the buffer. Resolution: If record length is exactly equal to the available space on the buffer, a temporary buffer is allocated to write the record. 2. sort -u fails to remove duplicates in non-C locales due to the improper copying of record (key sequence + actual record) to the save area. Resolution: Instead of copying the record, the save and record pointers have been swapped. 3. grow_core() calls realloc() even though the maximum buffer size is reached. Resolution: The current size of the buffer is checked against the maximum limit to the buffer size. If the two are equal grow_core() returns 0 without reallocating further. PHCO_17799: sort -k1 option was failing for ascii characters with values > 127 due to improper typecasting of the pointer variable holding the characters to be sorted. Resolution: The pointer variable holding data to be sorted has been typecasted to unsigned character to facilitate correct sorting of ascii characters > 127. PHCO_15833: sort(1) was allowing binary input when it should not have, as binary data is not supported. sort(1) will not handle binary input after 10.20. PHCO_13500: Enhanced the sort option -i for UTF8 locale changes PHCO_10589: sort(1) behaves incorrectly when the field_end for a sort key is not specified PHCO_8768: Customer uses command "sort -t "|" " on HP-UX 10.01. He gets an error message: "A line of the input file contains more than 20480 characters." This error does only occur if LANG is set to de_DE.iso88591, with LANG="C" everything works fine. SR: 4701427807 8606100923 8606101619 5003448423 1653260414 4701377283 1653184259 1653182055 4701349837 Patch Files: /usr/bin/sort what(1) Output: /usr/bin/sort: $Revision: 78.5.1.11 $ PATCH_10_20: sort.o hpux_rel.o 99/08/30 PATCH-PHCO_18644 for 10.20; for 10.30, 11.x compatib ility libc.a_ID@@/main/r10dav/libc_dav/libc_ dav_cpe/9 /ux/core/libs/libc/archive_pa1/libc.a_ID Jul 8 1999 15:44:31 cksum(1) Output: 3245935479 233472 /usr/bin/sort Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_17799 PHCO_15833 PHCO_13500 PHCO_10589 PHCO_8768 Equivalent Patches: None Patch Package Size: 290 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_19559 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_19559.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_19559. 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_19559.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_19559.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None