Opened 13 years ago
Last modified 10 years ago
#231 assigned defect
__libc_back_fsUnixAttribsGet() may leave dev and inode 0 on HPFS386
Reported by: | dmik | Owned by: | bird |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | libc-backend | Version: | 0.6 |
Severity: | normal | Keywords: | hpfs386 |
Cc: |
Description (last modified by )
If a file on a HPFS386 volume has EAs but none of them are LIBC UnixEAs, __libc_back_fsUnixAttribsGet() returns 0 but doesn't generate a dev and inode value for the given file which breaks some software. For example, cp.exe fails when copying a REXX script with the following message:
cp: skipping file `bar.cmd', as it was replaced while being copied
Stripping EAs on bar.cmd makes cp.exe succeed.
Attachments (1)
Change History (5)
Changed 13 years ago by
Attachment: | cp_HPFS386.fiff added |
---|
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Component: | baselayout → libc-backend |
---|---|
Description: | modified (diff) |
Keywords: | hpfs386 added |
Milestone: | → libc-0.6.4 |
comment:3 Changed 13 years ago by
Status: | new → assigned |
---|
comment:4 Changed 10 years ago by
Milestone: | libc-0.6.6 |
---|
Note: See
TracTickets for help on using
tickets.
Attached is the fix. Turns out that HPFS386 sets cbList to the size of the actual number of returned EAs ((4 in case of no match at all) while on other file systems, it remains unchanged (but cbValue and oNextEntryOffset of the first FEA2 item seem to be set to zero).