Răsfoiți Sursa

Fehler behoben, der bei einer bestimmten abfolge von empfangenen daten zum absturtz führte.

Kolja Strohm 6 ani în urmă
părinte
comite
fbb3238e45
2 a modificat fișierele cu 7 adăugiri și 6 ștergeri
  1. 1 0
      EditorServer/DateienEditor.cpp
  2. 6 6
      EditorServer/EditorServer.cpp

+ 1 - 0
EditorServer/DateienEditor.cpp

@@ -944,6 +944,7 @@ bool DateienEditor::prozessMessage( SKlient *zKlient )
         for( int i = 0; i < anz; i++ )
         {
             Polygon2D pol;
+            pol.schwerpunkt = 0;
             pol.vertex = new Array< Vertex >();
             pol.tKordinaten = new Array< Vertex >();
             zKlient->getNachrichtEncrypted( (char*)&pol.transparent, 1 );

+ 6 - 6
EditorServer/EditorServer.cpp

@@ -343,14 +343,14 @@ void EdSAKlient::thread()
                 if( 1 )
                 {
                     klient->sendeEncrypted( "\1", 1 );
-                    char nLen = 0;
-                    klient->getNachrichtEncrypted( &nLen, 1 );
+                    unsigned char nLen = 0;
+                    klient->getNachrichtEncrypted( (char*)&nLen, 1 );
                     char *n = new char[ nLen + 1 ];
                     n[ (int)nLen ] = 0;
                     if( nLen )
                         klient->getNachrichtEncrypted( n, nLen );
-                    char pLen = 0;
-                    klient->getNachrichtEncrypted( &pLen, 1 );
+                    unsigned char pLen = 0;
+                    klient->getNachrichtEncrypted((char*)&pLen, 1 );
                     char *p = new char[ pLen + 1 ];
                     p[ (int)pLen ] = 0;
                     if( pLen )
@@ -870,8 +870,8 @@ void EdSKlient::thread()
                 else
                 {
                     klient->sendeEncrypted( "\1", 1 );
-                    char l = 0;
-                    klient->getNachrichtEncrypted( &l, 1 );
+                    unsigned char l = 0;
+                    klient->getNachrichtEncrypted((char*)&l, 1 );
                     char *n = new char[ l + 1 ];
                     n[ (int)l ] = 0;
                     klient->getNachrichtEncrypted( n, l );