Remove use of tempnam function and fix bug (bad check of rename return)
This commit is contained in:
		@@ -114,16 +114,16 @@ public:
 | 
			
		||||
		// Use temp file for PDF
 | 
			
		||||
		if (type == gourou::DRMProcessor::ITEM_TYPE::PDF)
 | 
			
		||||
		{
 | 
			
		||||
		    char* tempFile = tempnam("/tmp", NULL);
 | 
			
		||||
		    processor.removeDRM(inputFile, tempFile, type, encryptionKey, encryptionKeySize);
 | 
			
		||||
		    std::string tempFile = filename + ".tmp";
 | 
			
		||||
		    /* Be sure there is not already a temp file */
 | 
			
		||||
		    unlink(tempFile.c_str());
 | 
			
		||||
		    processor.removeDRM(filename, tempFile, type, encryptionKey, encryptionKeySize);
 | 
			
		||||
		    /* Original file must be removed before doing a copy... */
 | 
			
		||||
		    unlink(inputFile);
 | 
			
		||||
		    if (!rename(tempFile, filename.c_str()))
 | 
			
		||||
		    unlink(filename.c_str());
 | 
			
		||||
		    if (rename(tempFile.c_str(), filename.c_str()))
 | 
			
		||||
		    {
 | 
			
		||||
			free(tempFile);
 | 
			
		||||
			EXCEPTION(gourou::DRM_FILE_ERROR, "Unable to copy " << tempFile << " into " << filename);
 | 
			
		||||
		    }
 | 
			
		||||
		    free(tempFile);
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		    processor.removeDRM(inputFile, filename, type, encryptionKey, encryptionKeySize);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user