Opened 17 years ago
Last modified 17 years ago
#135 closed defect
Seek and scan may crash when searching EAs — at Initial Version
Reported by: | Steven Levine | Owned by: | Steven Levine |
---|---|---|---|
Priority: | blocker | Milestone: | Release_3.7 |
Component: | fm/2 base | Version: | 3.07 |
Keywords: | Cc: |
Description
Seek and scan can crash when searching EAs.
P1=00000002 P2=00000008 P3=XXXXXXXX P4=XXXXXXXX CS:EIP=005b:12d9390e CSACC=f0df CSLIM=ffffffff SS:ESP=0053:00e3e6e0 SSACC=f0f3 SSLIM=ffffffff EBP=00e3e75c FLG=00012287 EAX=00080900 EBX=00400000 ECX=00403744 EDX=00000000 ESI=00400000 EDI=00000000 DS=0053 DSACC=f0f3 DSLIM=ffffffff ES=0053 ESACC=f0f3 ESLIM=ffffffff FS=150b FSACC=00f3 FSLIM=00000030 GS=0000 GSACC= GSLIM=*
This is in _nfree.
# dd ss:esp
0053:00e3e6e0 00000000 00403748 00400000 12d8cbc5 0053:00e3e6f0 00e3e9f8 00403730 004037f8 00000042 0053:00e3e700 12db3c34 0000fffe 00000009 12dbdfa8 0053:00e3e710 003f1fa0 1ffc3db8 00000001 0000000a 0053:00e3e720 0000002a 0000002c 0000000a 00000000 0053:00e3e730 00d10030 000001d3 00000000 00e3e774 0053:00e3e740 00e40c98 0040377c 00000000 0000fffd 0053:00e3e750 00400012 00e3e700 00e3e898 00e3e898
Looking at the stack finds
# ln %12d8cbc5 %12d8cb80 FM3DLL _nfree_ + 45 # ln %12db3c34 %12db3c22 FM3DLL Free_FEAList_ + 12 # ln %12dbdfa8 %12dbd5b1 FM3DLL GrepThread_ + 9f7 # ln %1ffc3db8
I suspect the error is in GetFileEAs(). There's probably a one character overflow because the code is not properly accounting for the extra character copied when attempting to place a nul at then end of each EA.
The reason this is showing up is most likely because VAC defaulted to pack(4), IIRC, and OpenWatcom defaults to pack(1).