ea@reactos.com
authorEmanuele Aliberti <ea@iol.it>
Sun, 13 Mar 2005 17:00:19 +0000 (17:00 +0000)
committerEmanuele Aliberti <ea@iol.it>
Sun, 13 Mar 2005 17:00:19 +0000 (17:00 +0000)
Make SmConnectApiPort more safe.

svn path=/trunk/; revision=14015

reactos/lib/smdll/connect.c

index 6c93434..32a1ab6 100644 (file)
@@ -61,9 +61,12 @@ SmConnectApiPort (IN      PUNICODE_STRING  pSbApiPortName  OPTIONAL,
     }
     RtlZeroMemory (& ConnectData, sizeof ConnectData);
     ConnectData.Subsystem = dwSubsystem;
     }
     RtlZeroMemory (& ConnectData, sizeof ConnectData);
     ConnectData.Subsystem = dwSubsystem;
-    RtlCopyMemory (& ConnectData.SbName,
-                  pSbApiPortName->Buffer,
-                  pSbApiPortName->Length);
+    if (pSbApiPortName->Length > 0)
+    {
+      RtlCopyMemory (& ConnectData.SbName,
+                    pSbApiPortName->Buffer,
+                    pSbApiPortName->Length);
+    }
   }
   ConnectDataLength = sizeof ConnectData;
 
   }
   ConnectDataLength = sizeof ConnectData;
 
@@ -73,7 +76,7 @@ SmConnectApiPort (IN      PUNICODE_STRING  pSbApiPortName  OPTIONAL,
   SecurityQos.EffectiveOnly       = TRUE;
 
   RtlInitUnicodeString (& SmApiPortName, SM_API_PORT_NAME);
   SecurityQos.EffectiveOnly       = TRUE;
 
   RtlInitUnicodeString (& SmApiPortName, SM_API_PORT_NAME);
-DbgPrint("SMDLL: calling NtConnectPort\n");
+
   Status = NtConnectPort (
              phSmApiPort,
              & SmApiPortName,
   Status = NtConnectPort (
              phSmApiPort,
              & SmApiPortName,