Bug 47864

Summary: vi removes suid bit when saving a file
Product: [Retired] Red Hat Linux Reporter: gman
Component: vimAssignee: Bernhard Rosenkraenzer <bero>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-07-08 06:56:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description gman 2001-07-08 06:56:32 UTC
Description of Problem:
if you edit a suid bit'ed file then open it up with /bin/vi
then save the file, the suid bit gets removed.

How Reproducible:
I can reproduce it on a redhat 7.1 distro, that was upgraded from 6.2
I even removed vim-common and vim-minianl and re-installed it and the same 
thing happen.. I had to the rawhide rpm of vim (on jul 7 to get it working 
again)

Steps to Reproduce:
1. > /tmp/a
2. chmod +s /tmp/a
3. vi /tmp/a
4. :wq
5. ls -l /tmp/a

Actual Results:

suid bit get removed

Expected Results:

no permission change

Additional Information:
	
here is the strace from vim version vim-minimal-6.0-0.27.


execve("/bin/vi", ["vi", "a"], [/* 24 vars */]) = 0
uname({sys="Linux", node="dalycity", ...}) = 0
brk(0)                                  = 0x80a79b0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x40017000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=27090, ...}) = 0
old_mmap(NULL, 27090, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
open("/lib/libtermcap.so.2", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\16\0\000"..., 
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=12120, ...}) = 0
old_mmap(NULL, 15208, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001f000
mprotect(0x40022000, 2920, PROT_NONE)   = 0
old_mmap(0x40022000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x2000) = 0x40022000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240 \0"..., 1024) 
= 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=79024, ...}) = 0
old_mmap(NULL, 13760, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40023000
mprotect(0x40026000, 1472, PROT_NONE)   = 0
old_mmap(0x40026000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x2000) = 0x40026000
close(3)                                = 0
open("/lib/i686/libc.so.6", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\302"..., 
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=5634864, ...}) = 0
old_mmap(NULL, 1242920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 
0x40027000
mprotect(0x4014d000, 38696, PROT_NONE)  = 0
old_mmap(0x4014d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
3, 0x125000) = 0x4014d000
old_mmap(0x40153000, 14120, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40153000
close(3)                                = 0
munmap(0x40018000, 27090)               = 0
getpid()                                = 23490
getrlimit(0x3, 0xbffff8b0)              = 0
brk(0)                                  = 0x80a79b0
brk(0x80a99c8)                          = 0x80a99c8
brk(0x80aa000)                          = 0x80aa000
sigaltstack({ss_sp=0x80a79b8, ss_flags=0, ss_size=8192}, NULL) = 0
brk(0x80ab000)                          = 0x80ab000
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
getcwd("/root", 1024)                   = 6
chdir("/root")                          = 0
getcwd("/root", 1025)                   = 6
chdir("/root")                          = 0
getrlimit(0x2, 0xbffff880)              = 0
brk(0x80ac000)                          = 0x80ac000
getcwd("/root", 1024)                   = 6
stat64("a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) = 0
rt_sigaction(SIGWINCH, {0x807f5c0, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [WINCH], NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [TSTP], NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
rt_sigaction(SIGINT, {0x807f5f0, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [INT], NULL, 8) = 0
rt_sigaction(SIGALRM, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ALRM], NULL, 8) = 0
rt_sigaction(SIGHUP, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGILL, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGABRT, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGFPE, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGBUS, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGUNUSED, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGPROF, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {0x807f650, [], SA_STACK|0x4000000}, NULL, 8) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
open("/etc/termcap", O_RDONLY)          = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=729360, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40018000
_llseek(3, 0, [0], SEEK_SET)            = 0
read(3, "######## TERMINAL TYPE DESCRIPTI"..., 4096) = 4096
read(3, "GHTS AND OTHER DELUSIONS below)."..., 4096) = 4096
read(3, "equest (equiv. to VT100/ANSI/ECM"..., 4096) = 4096
read(3, "ill merely succeed in looking li"..., 4096) = 4096
read(3, "?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;"..., 4096) = 4096
read(3, "terminal (Visual 102).\n# I would"..., 4096) = 4096
read(3, "si+idc:tc=ansi+idl:tc=ansi+rep:t"..., 4096) = 4096
read(3, " *\n# * response to user requests"..., 4096) = 4096
read(3, "c|linux console 1.3.x hack for n"..., 4096) = 4096
read(3, "%i%d;%dH:dc=\\E[P:dl=\\E[M:do=\\E[B"..., 4096) = 4096
read(3, "nces for every key-modifier comb"..., 4096) = 4096
read(3, "=\\E[0K:\\\n\t:cl=\\E[2J\\E[H:cm=\\E[%i"..., 4096) = 4096
read(3, "characters and highlights, they "..., 4096) = 4096
read(3, "[>9l:Zi=\\E[>6h:i1=\\E[0t:tc=qansi"..., 4096) = 4096
read(3, "d=\\E[1m:me=\\E[m\\017:mk=\\E[8m:\\\n\t"..., 4096) = 4096
read(3, "\t:DL=\\E[%dM:DO=\\E[%dB:F1=\\E[W:F2"..., 4096) = 4096
read(3, "ditional console features\n# list"..., 4096) = 4096
read(3, " operate\n# in two different mode"..., 4096) = 4096
read(3, "mooth             |           1-"..., 4096) = 4096
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
ioctl(0, TIOCGWINSZ, {ws_row=62, ws_col=132, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=62, ws_col=132, ws_xpixel=0, ws_ypixel=0}) = 0
brk(0x80af000)                          = 0x80af000
brk(0x80b2000)                          = 0x80b2000
ioctl(1, TIOCGWINSZ, {ws_row=62, ws_col=132, ws_xpixel=0, ws_ypixel=0}) = 0
open("/usr/share/vim/vim60z/macros/vimrc", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3589, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40018000
read(3, "if v:lang =~ \"^ko\"\n   set fileen"..., 4096) = 3589
read(3, "", 4096)                       = 0
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
open("/root/.vimrc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or 
directory)
open("/root/_vimrc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or 
directory)
open("/root/.exrc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or 
directory)
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_START, {B38400 opost -isig -icanon -echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
write(1, "\33[?1h\33=", 7)              = 7
brk(0x80b4000)                          = 0x80b4000
getuid32()                              = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 3
connect(3, {sin_family=AF_UNIX, 
path="                                                                     
                  /var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file 
or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1680, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40018000
read(3, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1680
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=27090, ...}) = 0
old_mmap(NULL, 27090, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\"\0\000"..., 
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=275531, ...}) = 0
old_mmap(NULL, 43432, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40157000
mprotect(0x40161000, 2472, PROT_NONE)   = 0
old_mmap(0x40161000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x9000) = 0x40161000
close(3)                                = 0
munmap(0x40018000, 27090)               = 0
open("/etc/passwd", O_RDONLY)           = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=145113, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40018000
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 4096
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
stat64("/root/a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) 
= 0
uname({sys="Linux", node="dalycity", ...}) = 0
getpid()                                = 23490
brk(0x80b6000)                          = 0x80b6000
stat64("a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) = 0
stat64("a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) = 0
access("a", W_OK)                       = 0
open("a", O_RDONLY|O_LARGEFILE)         = 3
open(".a.swp", O_RDONLY|O_LARGEFILE)    = -1 ENOENT (No such file or 
directory)
open(".a.swp", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 4
open(".a.swpx", O_RDONLY|O_LARGEFILE)   = -1 ENOENT (No such file or 
directory)
open(".a.swpx", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 5
fstat64(4, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
fstat64(5, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
close(5)                                = 0
unlink(".a.swpx")                       = 0
close(4)                                = 0
unlink(".a.swp")                        = 0
stat64(".a.swp", 0xbffff1f0)            = -1 ENOENT (No such file or 
directory)
getcwd("/root", 1024)                   = 6
open(".a.swp", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 4
_llseek(4, 0, [0], SEEK_SET)            = 0
write(4, "b0VIM 6.0z\0\0\0\20\0\0\217\314G;:P\37\0\302[\0\0root"..., 4096) 
= 4096
write(1, "\33[1;62r\33[H\33[J\33[62;1H\"a\"", 23) = 23
brk(0x80c7000)                          = 0x80c7000
read(3, "ssdasdasddas\n", 65536)        = 13
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
brk(0x80d8000)                          = 0x80d8000
read(3, "", 65536)                      = 0
close(3)                                = 0
write(1, " 1L, 13C", 8)                 = 8
getcwd("/root", 1024)                   = 6
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\33[1;1Hssdasdasddas\r\n\33[1m~\r\n~\r\n~\r"..., 208) = 208
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {2, 350000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "i", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\33[62;1H-- INSERT --", 19)   = 19
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\33[1;1H", 6)                 = 6
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 780000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "a", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
_llseek(4, 0, [0], SEEK_SET)            = 0
write(4, "b0VIM 6.0z\0\0\0\20\0\0\217\314G;:P\37\0\302[\0\0root"..., 4096) 
= 4096
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\33[m\17assdasdasddas\ra", 19) = 19
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 810000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "a", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "assdasdasddas\raa", 16)       = 16
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 800000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "a", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "assdasdasddas\raaa", 17)      = 17
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 710000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "\33", 250)                     = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 25000})   = 0 (Timeout)
write(1, "\33[62;1H\33[K\33[1;3H", 16)  = 16
select(1, [0], NULL, [0], {1, 0})       = 1 (in [0], left {0, 850000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "\33", 250)                     = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})    = 0 (Timeout)
select(1, [0], NULL, [0], {1, 0})       = 1 (in [0], left {0, 720000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, ":", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\7\33[62;1H:", 9)             = 9
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 810000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "w", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "w", 1)                        = 1
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 920000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "q", 250)                       = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "q", 1)                        = 1
select(1, [0], NULL, [0], {4, 0})       = 1 (in [0], left {3, 610000})
select(1, [0], NULL, [0], NULL)         = 1 (in [0])
read(0, "\r", 250)                      = 1
select(1, [0], NULL, [0], {0, 0})       = 0 (Timeout)
write(1, "\r", 1)                       = 1
ioctl(0, SNDCTL_TMR_START, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "\"a\"", 3)                    = 3
stat64("a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) = 0
lstat64("a", {st_mode=S_IFREG|S_ISUID|S_ISGID|0755, st_size=13, ...}) = 0
stat64("4913", 0xbffff4d0)              = -1 ENOENT (No such file or 
directory)
open("4913", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0106755) = 3
close(3)                                = 0
chown32("4913", 0, 0)                   = 0
stat64("4913", {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
unlink("4913")                          = 0
stat64("a~", 0xbffff380)                = -1 ENOENT (No such file or 
directory)
unlink("a~")                            = -1 ENOENT (No such file or 
directory)
rename("a", "a~")                       = 0
open("a", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
write(3, "aaassdasdasddas\n", 16)       = 16
close(3)                                = 0
chmod("a", 0106755)                     = 0
chown32("a", 0, 0)                      = 0
write(1, " 1L, 16C written", 16)        = 16
_llseek(4, 0, [0], SEEK_SET)            = 0
write(4, "b0VIM 6.0z\0\0\0\20\0\0\217\314G;:P\37\0\302[\0\0root"..., 4096) 
= 4096
unlink("a~")                            = 0
write(1, "\r\33[?1l\33>", 8)            = 8
write(1, "\r\n", 2)                     = 2
close(4)                                = 0
unlink(".a.swp")                        = 0
brk(0x80b8000)                          = 0x80b8000
_exit(0)                                = ?

Comment 1 Bernhard Rosenkraenzer 2001-07-10 16:08:21 UTC
Fixed in the current version.