diff --git a/sdk/tools/cabman/CCFDATAStorage.cxx b/sdk/tools/cabman/CCFDATAStorage.cxx index 1d7ef5e64f4..b02551fbe76 100644 --- a/sdk/tools/cabman/CCFDATAStorage.cxx +++ b/sdk/tools/cabman/CCFDATAStorage.cxx @@ -56,7 +56,12 @@ CCFDATAStorage::~CCFDATAStorage() ULONG CCFDATAStorage::Create() { if ((FileHandle = tmpfile()) == NULL) - return CAB_STATUS_CANNOT_CREATE; + { + /* Workaround for breakage on some Windows system */ + FileHandle = fopen(tmpnam(NULL) + 1, "wb"); + if (FileHandle == NULL) + return CAB_STATUS_CANNOT_CREATE; + } return CAB_STATUS_SUCCESS; }