Browse Source

HPCC-9029 Roxie can core if write to file when no workunit

A Roxie query that writes to a file can core while trying to publish the fine
info, if there is no workunit available (e.g. the query was received via a
socket)

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 12 years ago
parent
commit
e89d9310fe
1 changed files with 8 additions and 5 deletions
  1. 8 5
      roxie/ccd/ccdserver.cpp

+ 8 - 5
roxie/ccd/ccdserver.cpp

@@ -11336,11 +11336,14 @@ public:
         properties.setPropInt64("@recordCount", reccount);
         SCMStringBuffer info;
         WorkunitUpdate workUnit = ctx->updateWorkUnit();
-        properties.setProp("@owner", workUnit->getUser(info).str());
-        info.clear();
-        properties.setProp("@workunit", workUnit->getWuid(info).str());
-        info.clear();
-        properties.setProp("@job", workUnit->getJobName(info).str());
+        if (workUnit)
+        {
+            properties.setProp("@owner", workUnit->getUser(info).str());
+            info.clear();
+            properties.setProp("@workunit", workUnit->getWuid(info).str());
+            info.clear();
+            properties.setProp("@job", workUnit->getJobName(info).str());
+        }
         char const * rececl = helper.queryRecordECL();
         if(rececl && *rececl)
             properties.setProp("ECL", rececl);