Unverified Commit f16bed0c authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

curl: fix time-of-check, time-of-use race in dir creation

Patch-by: Jay Satiro
Detected by Coverity
Fixes #2739
Closes #2912
parent 23453887
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -139,14 +139,12 @@ CURLcode create_dir_hierarchy(const char *outfile, FILE *errors)
        else
          snprintf(dirbuildup, outlen, "%s%s", DIR_CHAR, tempdir);
      }
      if(access(dirbuildup, F_OK) == -1) {
        if(-1 == mkdir(dirbuildup, (mode_t)0000750)) {
      if((-1 == mkdir(dirbuildup, (mode_t)0000750)) && (errno != EEXIST)) {
        show_dir_errno(errors, dirbuildup);
        result = CURLE_WRITE_ERROR;
        break; /* get out of loop */
      }
    }
    }
    tempdir = tempdir2;
  }