Jump to content 日本-日本語
日本HPホーム 製品とサービス サポートとドライバ ソリューション ご購入方法
≫ お問い合わせ
日本HPホーム
企業ユーザ向けサポート情報   >  HP-UX サポート  >  セキュリティ報告&パッチダイジェスト翻訳版

PHCO_35769 s700_800 11.11 vi(1)累積パッチ

企業ユーザ向けサポート情報

HP-UX サポート
Tru64 サポート
OpenVMS サポート
セキュリティ報告&パッチダイジェスト翻訳版
技術情報ツリー
ソフトウェアアップデート情報
ITRC日本フォーラム

ITRC

パッチデータベース
技術情報ベースの検索
サポートケースマネージャ
ソフトウェア アップデート マネージャ (SUM)
ご利用の手順
日本HPサイトマップ
コンテンツに進む
パッチ名:   PHCO_35769

パッチ摘要: s700_800 11.11 vi(1)累積パッチ

作成日:  07/02/04

公開日:  07/02/20

ハードウェアプラットフォームおよびOSリリース:

	s700: 11.11
	s800: 11.11

現象:

	PHCO_35769:

	(SR:8606459208 CR:JAGag15358)
	空のファイルを指定すると、"m"(move)コマンドの実行時にex(1)が異常終了し
	ます。

問題点の説明:

	PHCO_35769:

	(SR:8606459208 CR:JAGag15358)
	空のファイルを指定すると、"m"(move)コマンドの実行時にex(1)がセグメンテ
	ーションフォルトで異常終了していました。

	問題の再現手順:

	$ex
	:m
	Memory fault(coredump).

	解決方法:
	バッファが空でも、"m"(move)コマンドの実行時に異常終了しないようにex(1)
	を修正しました。

-----------------------------------------------------------------------------
Patch Name: PHCO_35769

Patch Description: s700_800 11.11 vi(1) cumulative patch

Creation Date: 07/02/04

Post Date: 07/02/20

Hardware Platforms - OS Releases:
	s700: 11.11
	s800: 11.11

Products: N/A

Filesets:
	TextEditors.EDIT-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
	TextEditors.EDITORS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP

Automatic Reboot?: No

Status: General Release

Critical:
	Yes
	PHCO_35769: ABORT
	PHCO_25987: ABORT CORRUPTION

Category Tags:
	defect_repair enhancement general_release critical
	halts_system corruption

Path Name: /hp-ux_patches/s700_800/11.X/PHCO_35769

Symptoms:
	PHCO_35769:
	( SR:8606459208 CR:JAGag15358 )
	ex(1) aborts when the 'm' (move) command is executed with an
	empty file.

	PHCO_33856:
	( SR:8606410458 CR:JAGaf70340 )
	ex(1)/vi(1) incorrectly handles the system command (!),
	when SHELL variable is set to null string.

	PHCO_27057:
	( SR:8606228872 CR:JAGad97925 )
	vi(1) cannot handle files, with lines having more
	than 2048 chars.

	PHCO_25987:
	( SR:8606144118 CR:JAGad13451 )
	vi(1) dumping core when LANG is set to arabic and when
	some text is appended to existing line.

	( SR:8606187176 CR:JAGad56384 )
	If the user resizes the window , while  a large data
	file is still  being opened by vi(1),data corruption
	is noticed.

	( SR:8606214324 CR:JAGad83515 )
	Some characters for the new Chinese locale conforming to
	the GB18030 codeset cannot be displayed using the vi
	editor.

	( SR:8606229299 CR:JAGad98352 )
	If the user resizes the window, while '/' search is
	being done in vi(1) session,data corruption is noticed.

Defect Description:
	PHCO_35769:
	( SR:8606459208 CR:JAGag15358 )
	A segmentation fault occurs when the 'm' (move) command is
	executed in ex(1) with an empty file.
	Problem Reproduction:
	$ex
	:m
	Memory fault(coredump).

	Resolution:
	ex(1) has been modified such that it does not abort when
	"m" (move) command is executed in an empty buffer.

	PHCO_33856:
	( SR:8606410458 CR:JAGaf70340 )
	ex(1)/vi(1) incorrectly exiting, while executing the system
	command (!), when SHELL variable is set to null string.

	Problem Reproduction:
	# export SHELL=""
	# export UNIX95=1
	# vi
	Now execute :!echo hi
	Result: Fails with error message
	sh: -c: not found
	# export UNIX95=0
	#vi
	Now execute :!echo hi
	Result: Fails with error message
	: No !

	Resolution:
	ex(1)/vi(1) will now exit correctly while executing
	the system (!) command, when SHELL variable is set to
	null string.

	PHCO_27057:
	( SR:8606228872 CR:JAGad97925 )
	vi(1) was unable to handle files containing lines
	of length greater than 2048 characters.This was
	because, the buffers used in vi(1) were limited
	to 2048 characters.

	The problem can reproduced in the following way:

	$ echo "HELLO" > m
	$ perl -e 'print "l" x 2047' >> m
	$ vi m
	HELLO
	~
	~
	"m" Line too long

	Resolution:
	The size of buffers has been changed from 2048
	to 4096 characters.

	PHCO_25987:
	( SR:8606144118 CR:JAGad13451 )
	vi(1) dumps core when LANG is set to arabic and when
	user attempts to append text to the existing line.
	This was due to negative values were being sent to
	memcpy library rountine in some cases.

	Resolution:
	The code has been changed now to validate the argument
	values sent to memcpy library function.

	( SR:8606187176 CR:JAGad56384 )
	If window is resized while vi(1) is loading a huge
	file,data in the file gets corrupted when the
	file is saved.This was because of improper handling of
	SIGWINCH signal in vi(1) while loading a file.

	 The problem can reproduced in the following way:

	- Create the file "data1" which is more than 2MB size.
	- Copy the "data1"  file into "data2"
	- vi the "data1" file in an hpterm.
	- While loading the file, resize the window.
	- Save and quit from vi.
	- Now take the diff of two files(data1,data2).There
	  will be difference between the above two files.

	Resolution:

	The code has been changed to handle SIGWINCH
	properly while a data file is being loaded.

	( SR:8606214324 CR:JAGad83515 )
	Using  vi editor some characters for the new Chinese
	locale conforming to the GB18030 codeset cannot be
	displayed . It was observed that the values used by
	macros are same as wide character values.

	  The problem can be reproduced as follows:

	- Set LANG to zh_CN.gb18030

	$ export LANG=zh_CN.gb18030

	- Create a file temp1 as follows.

	$ echo "\0251\0126\0251\0127" > temp1
	$ cat temp1
	`V`W
	$

	- Run "vi temp1" on a dtterm, you will not be able to see
	  any characters on the screen.

	Resolution:
	Now the macros have been assigned new values which fall
	outside the range of valid wide character values for
	all the existing locales.

	( SR:8606229299 CR:JAGad98352 )
	If window is resized while a '/' search command
	is performed on data file , data in the file
	gets corrupted when the file is saved.
	This was because of improper handling of SIGWINCH
	signal in vi(1) during pattern searching.

	 The problem can be reproduced as follows:

	- Create a file temp1 with > 1000000 lines.No two
	  lines should be the same.  Copy temp1 to temp2.
	- Search for a particular pattern which is not
	  present in the file or one which is present but
	  towards the end of the file so that the search
	  operation takes time.
	- Resize the terminal while the search is taking place.
	  Wait until the search operation is over.
	- Save and quit from vi.
	- Now take the diff of two files(temp1,temp2).There
	  will be difference between the above two files.
	  temp1 & temp2.

	Resolution:
	The code has been modified to handle SIGWINCH properly
	while a '/' search command is performed in vi(1)
	session.

Enhancement:
	No (superseded patches contained enhancements)
	PHCO_33856:
		Enhancements were delivered in a patch this one has
		superseded.  Please review the Defect Description
		text for more information.

SR:
	8606459208 8606410458 8606144118 8606187176 8606214324
	8606228872 8606229299

Patch Files:

	TextEditors.EDIT-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/share/man/man1.Z/ex.1
	/usr/share/man/man1.Z/edit.1
	/usr/share/man/man1.Z/vedit.1
	/usr/share/man/man1.Z/view.1
	/usr/share/man/man1.Z/vi.1

	TextEditors.EDITORS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/bin/ex
	/usr/lbin/expreserve
	/usr/lbin/exrecover
	/usr/bin/e
	/usr/bin/edit
	/usr/bin/vedit
	/usr/bin/vi
	/usr/bin/view

what(1) Output:

	TextEditors.EDIT-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/share/man/man1.Z/ex.1:
		None
	/usr/share/man/man1.Z/edit.1:
		None
	/usr/share/man/man1.Z/vedit.1:
		None
	/usr/share/man/man1.Z/view.1:
		None
	/usr/share/man/man1.Z/vi.1:
		None

	TextEditors.EDITORS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/bin/ex:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/lbin/expreserve:
		expreserve.c $Date: 2002/05/16 04:22:01 $Revision: r
			11.11/1 PATCH_11.11 (PHCO_27057)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/lbin/exrecover:
		exrecover.c $Date: 2002/05/16 04:22:01 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_27057)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/bin/e:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/bin/edit:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/bin/vedit:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/bin/vi:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $
	/usr/bin/view:
		ex.c $Date: 2005/09/14 05:40:33 $Revision: r11.11/2
			PATCH_11.11 (PHCO_33856)
		ex_addr.c $Date: 2002/03/13 22:55:37 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmds.c $Date: 2002/03/13 22:55:48 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_cmdsub.c $Date: 2006/11/17 14:55:24 $Revision: r1
			1.11/1 PATCH_11.11 (PHCO_35769)
		ex_data.c $Date: 2005/09/14 05:43:55 $Revision: r11.
			11/1 PATCH_11.11 (PHCO_33856)
		ex_io.c $Date: 2002/03/13 22:55:59 $Revision: r11.11
			/2 PATCH_11.11 (PHCO_25987)
		ex_put.c $Date: 2002/03/13 22:56:11 $Revision: r11.1
			1/2 PATCH_11.11 (PHCO_25987)
		ex_subr.c $Date: 2002/03/13 22:56:24 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_v.c $Date: 2002/03/13 22:56:36 $Revision: r11.11/
			3 PATCH_11.11 (PHCO_25987)
		ex_vops2.c $Date: 2002/03/13 22:56:59 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		ex_vput.c $Date: 2002/03/13 22:57:11 $Revision: r11.
			11/2 PATCH_11.11 (PHCO_25987)
		ex_vwind.c $Date: 2002/03/13 22:57:22 $Revision: r11
			.11/2 PATCH_11.11 (PHCO_25987)
		$Revision: @(#) ex R11.11_BL2007_0204_1 PATCH_11.11
			PHCO_35769
		$ B.11.11_LR  Nov  4 2004 06:40:43 $

cksum(1) Output:

	TextEditors.EDIT-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	294457159 29613 /usr/share/man/man1.Z/ex.1
	294457159 29613 /usr/share/man/man1.Z/edit.1
	3647215726 16434 /usr/share/man/man1.Z/vedit.1
	3647215726 16434 /usr/share/man/man1.Z/view.1
	3647215726 16434 /usr/share/man/man1.Z/vi.1

	TextEditors.EDITORS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	4115702080 249856 /usr/bin/ex
	1415445377 16384 /usr/lbin/expreserve
	3176670984 20480 /usr/lbin/exrecover
	4115702080 249856 /usr/bin/e
	4115702080 249856 /usr/bin/edit
	4115702080 249856 /usr/bin/vedit
	4115702080 249856 /usr/bin/vi
	4115702080 249856 /usr/bin/view

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHCO_33856 PHCO_27057 PHCO_25987

Equivalent Patches: None

Patch Package Size: 240 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_35769

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHCO_35769.depot

	By default swinstall will archive the original software in
	/var/adm/sw/save/PHCO_35769.  If you do not wish to retain a
	copy of the original software, include the patch_save_files
	option in the swinstall command above:

		-x patch_save_files=false

	WARNING: If patch_save_files is false when a patch is installed,
		 the patch cannot be deinstalled.  Please be careful
		 when using this feature.

	For future reference, the contents of the PHCO_35769.text file is
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHCO_35769.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHCO_35769.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None

ページトップへ
セキュリティ報告&パッチダイジェスト翻訳版に戻る
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡
© 2008 Hewlett-Packard Development Company, L.P.