Opened 17 years ago

Last modified 17 years ago

#1963 closed bug

execvp() Tries to Execute Directories — at Version 1

Reported by: bonefish Owned by: bonefish
Priority: critical Milestone: R1/alpha1
Component: System/libroot.so Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by bonefish)

hrev24582, VMware

When execvp() finds a matching entry in the PATH, it doesn't make sure that it is a regular file. E.g. create a "cp" directory in the cwd and make it executable. execvp("cp",...) will try to execute it.

Change History (1)

comment:1 by bonefish, 17 years ago

Component: File Systems/BFSSystem/libroot.so
Description: modified (diff)
Owner: changed from axeld to bonefish
Status: newassigned
Summary: BFS Finds Spurious Fileexecvp() Tries to Execute Directories

Never write bug reports when too tired. There actually is an entry "cp", I just missed it; it's a directory. This is just another execvp() bug. I thought I was really clever replacing the stat() in the code copied from my APR code by access(), but we obviously also need to make sure that the entry is a regular file.

Note: See TracTickets for help on using tickets.