[1mdiff --git a/mythtv/libs/libmythtv/datadirect.cpp b/mythtv/libs/libmythtv/datadirect.cpp[m
[1mindex 1870ff0..7583df8 100644[m
[1m--- a/mythtv/libs/libmythtv/datadirect.cpp[m
[1m+++ b/mythtv/libs/libmythtv/datadirect.cpp[m
[36m@@ -1006,8 +1006,14 @@[m [mbool DataDirectProcessor::DDPost(QString    ddurl,        QString   &inputFile,[m
     postdata += "</SOAP-ENV:Body>\n";[m
     postdata += "</SOAP-ENV:Envelope>\n";[m
 [m
[31m-    if (inputFile.isEmpty()) {[m
[32m+[m[32m    if (inputFile.isEmpty())[m
[32m+[m[32m    {[m
         inputFile = QString("/tmp/mythtv_ddp_data");[m
[32m+[m[32m        if (QFile(inputFile).exists() && !QFileInfo(inputFile).isWritable())[m
[32m+[m[32m        {[m
[32m+[m[32m            err_txt = QString("Aborting: %1 is not writable").arg(inputFile);[m
[32m+[m[32m            return false;[m
[32m+[m[32m        }[m
     }[m
 [m
     QHash<QByteArray, QByteArray> headers;[m
[36m@@ -1039,7 +1045,16 @@[m [mbool DataDirectProcessor::DDPost(QString    ddurl,        QString   &inputFile,[m
         uncompressed = postdata;[m
 [m
     QFile file(inputFile);[m
[31m-    file.open(QIODevice::WriteOnly);[m
[32m+[m[32m    if (!file.open(QIODevice::WriteOnly))[m
[32m+[m[32m    {[m
[32m+[m[32m        err_txt = QString("Aborting: download OK, but %1 is not writable")[m
[32m+[m[32m            .arg(inputFile);[m
[32m+[m[32m        return false;[m
[32m+[m[32m    }[m
[32m+[m[32m    file.setPermissions(inputFile,[m
[32m+[m[32m        QFile::ReadOwner | QFile::WriteOwner |[m
[32m+[m[32m        QFile::ReadGroup | QFile::WriteGroup |[m
[32m+[m[32m        QFile::ReadOther | QFile::WriteOther);[m
     file.write(uncompressed);[m
     file.close();[m
 [m
