Explorar el Código

Merge pull request #10614 from richardkchapman/getRFCText-overrun

HPCC-18680 Buffer overrun in dafilesrv

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday hace 7 años
padre
commit
1bda5f3a4b
Se han modificado 1 ficheros con 9 adiciones y 3 borrados
  1. 9 3
      common/remote/sockfile.cpp

+ 9 - 3
common/remote/sockfile.cpp

@@ -343,6 +343,7 @@ enum {
     RFCreadfilteredindex,
     RFCreadfilteredindexcount,
     RFCreadfilteredindexblob,
+    RFCmaxnormal,
     RFCStreamRead = '{',
     RFCmax,
     RFCunknown = 255 // 0 would have been more sensible, but can't break backward compatibility
@@ -399,9 +400,14 @@ const char *RFCStrings[] =
 };
 static const char *getRFCText(RemoteFileCommandType cmd)
 {
-    if (cmd > RFCmax)
-        cmd = RFCmax;
-    return RFCStrings[cmd];
+    if (cmd==RFCStreamRead)
+        return "RFCStreamRead";
+    else
+    {
+        if (cmd > RFCmaxnormal)
+            cmd = RFCmaxnormal;
+        return RFCStrings[cmd];
+    }
 }
 
 static const char *getRFSERRText(unsigned err)