Hi,

When launching x2goclient (from openbsd-wip) on amd64/5.9 it segfaults.
The problem lies with the buffer[] declaration in
SshMasterConnection::channelLoop(). When the I move it outside of the function
it works like a charm. Can a dev explain why it maters to be declared inside or
outside ? (too big for the stack, W^X, something else ?)

Here is the patch for x2goclient-4.0.5.1 (I've been using it for a week without
problem) :

--- src/sshmasterconnection.cpp Sun May  8 16:58:37 2016
+++ src/sshmasterconnection.cpp Sun May  8 17:02:54 2016
@@ -54,6 +54,7 @@
 // #define SSH_DEBUG
 
 static bool isLibSshInited=false;
+char buffer[1024*512]; //512K buffer
 
 const QString SshMasterConnection::challenge_auth_code_prompts_[] = {
   "Verification code:",
@@ -1464,7 +1465,6 @@
             copy();
         copyRequestMutex.unlock();
 
-        char buffer[1024*512]; //512K buffer
         int nbytes;
         fd_set rfds;
 

Reply via email to