From: Matthieu Moy Date: Mon, 16 Jul 2007 17:18:51 GMT Subject: Re: [PATCH] Do _not_ call unlink on a directory Message-ID: In-Reply-To: <11846059721204-git-send-email-sithglan@stud.uni-erlangen.de> Thomas Glanzmann writes: I believe you still have a race condition if ... > - if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0777)) > - continue; ... buf exists here as a file ... > if (!stat(buf, &st) && S_ISDIR(st.st_mode)) > continue; /* ok */ ... and became a directory here. > + if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0777)) > + continue; But that's quite unlikely to happen. And I have no fix to propose. -- Matthieu