Opened 10 years ago

Last modified 6 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

Description (last modified by bird)

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)

cp_HPFS386.fiff (7.4 KB) - added by dmik 10 years ago.

Download all attachments as: .zip

Change History (5)

Changed 10 years ago by dmik

Attachment: cp_HPFS386.fiff added

comment:1 Changed 10 years ago by dmik

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).

comment:2 Changed 10 years ago by bird

Component: baselayoutlibc-backend
Description: modified (diff)
Keywords: hpfs386 added
Milestone: libc-0.6.4

comment:3 Changed 9 years ago by bird

Status: newassigned

comment:4 Changed 6 years ago by Yuri Dario

Milestone: libc-0.6.6
Note: See TracTickets for help on using tickets.