diff --git mythtv/libs/libmythtv/datadirect.cpp mythtv/libs/libmythtv/datadirect.cpp index 1870ff0..7583df8 100644 --- mythtv/libs/libmythtv/datadirect.cpp +++ mythtv/libs/libmythtv/datadirect.cpp @@ -1006,8 +1006,14 @@ bool DataDirectProcessor::DDPost(QString ddurl, QString &inputFile, postdata += "\n"; postdata += "\n"; - if (inputFile.isEmpty()) { + if (inputFile.isEmpty()) + { inputFile = QString("/tmp/mythtv_ddp_data"); + if (QFile(inputFile).exists() && !QFileInfo(inputFile).isWritable()) + { + err_txt = QString("Aborting: %1 is not writable").arg(inputFile); + return false; + } } QHash headers; @@ -1039,7 +1045,16 @@ bool DataDirectProcessor::DDPost(QString ddurl, QString &inputFile, uncompressed = postdata; QFile file(inputFile); - file.open(QIODevice::WriteOnly); + if (!file.open(QIODevice::WriteOnly)) + { + err_txt = QString("Aborting: download OK, but %1 is not writable") + .arg(inputFile); + return false; + } + file.setPermissions(inputFile, + QFile::ReadOwner | QFile::WriteOwner | + QFile::ReadGroup | QFile::WriteGroup | + QFile::ReadOther | QFile::WriteOther); file.write(uncompressed); file.close();