[Libreoffice-commits] online.git: wsd/ClientSession.cpp

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu May 23 16:56:08 UTC 2019


 wsd/ClientSession.cpp |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit bf88897c47e6f21d638ff738adcb462e744e6fd7
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Thu May 23 17:55:01 2019 +0100
Commit:     Michael Meeks <michael.meeks at collabora.com>
CommitDate: Thu May 23 17:55:38 2019 +0100

    Make renamefile more careful.
    
    Change-Id: If39353fc01ea48d8e0077b228a6281839dde5c87

diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index 576e64f59..575515756 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -217,8 +217,10 @@ bool ClientSession::_handleInput(const char *buffer, int length)
 
         return true;
     }
-    else if (tokens[0] == "versionrestore") {
-        if (tokens[1] == "prerestore") {
+    else if (tokens[0] == "versionrestore")
+    {
+        if (tokens.size() > 1 && tokens[1] == "prerestore")
+        {
             // green signal to WOPI host to restore the version *after* saving
             // any unsaved changes, if any, to the storage
             docBroker->closeDocument("versionrestore: prerestore_ack");
@@ -375,9 +377,10 @@ bool ClientSession::_handleInput(const char *buffer, int length)
         else
             LOG_WRN("Readonly session '" << getId() << "' trying to kill another view");
     }
-    else if (tokens[0] == "renamefile") {
+    else if (tokens[0] == "renamefile")
+    {
         std::string encodedWopiFilename;
-        if (!getTokenString(tokens[1], "filename", encodedWopiFilename))
+        if (tokens.size() < 2 || !getTokenString(tokens[1], "filename", encodedWopiFilename))
         {
             LOG_ERR("Bad syntax for: " << firstLine);
             sendTextFrame("error: cmd=renamefile kind=syntax");


More information about the Libreoffice-commits mailing list