[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    updated lisa patch
From:       George Staikos <staikos () kde ! org>
Date:       2002-11-01 2:59:21
[Download RAW message or body]

Here is an updated patch that should be more compatible across the various 
platforms we support.

Again, I have not *run* this code.  I don't use Lisa and I don't have it setup 
or working to my knowledge.  Please review so it can be applied for 3.0.5 too 
(if it applies).

-- 

George Staikos

["lisa.patch" (text/x-diff)]

Index: netmanager.cpp
===================================================================
RCS file: /home/kde/kdenetwork/lanbrowsing/lisa/netmanager.cpp,v
retrieving revision 1.17
diff -u -3 -p -r1.17 netmanager.cpp
--- netmanager.cpp	2002/10/31 22:43:55	1.17
+++ netmanager.cpp	2002/11/01 02:56:27
@@ -13,7 +13,10 @@
  *
  */
 
+#ifdef HAVE_CONFIG_H
 #include "config.h"
+#endif
+
 #include "netmanager.h"
 #include "lisadefines.h"
 
@@ -157,18 +160,22 @@ int NetManager::prepare()
       //m_listenFD=::socket(AF_LOCAL, SOCK_STREAM, IPPROTO_TCP);
       MyString socketName("/tmp/resLisa-");
       char *logname=getenv("LOGNAME");
-      if (strlen(logname)>60)
-      {
-         std::cout<<"NetManager::prepare: your logname  \""<<logname<<"\" is longer \
than 60 characters, exiting."<<std::endl; +      if (!logname)
+      { 
+         std::cout<<"NetManager::prepare: your logname is not set.  \
Exiting."<<std::endl;  return 0;
       }
       socketName+=logname;
-      ::unlink(socketName.data());
       sockaddr_un serverAddr;
-//      bzero((char*)&serverAddr, sizeof(serverAddr));
+      if (socketName.length() >= sizeof(serverAddr.sun_path))
+      {
+         std::cout<<"NetManager::prepare: your logname  \""<<logname<<"\" is too \
long, exiting."<<std::endl; +         return 0;
+      }
+      ::unlink(socketName.data());
       memset((void*)&serverAddr, 0, sizeof(serverAddr));
       serverAddr.sun_family      = AF_LOCAL;
-      strcpy(serverAddr.sun_path,socketName.data());
+      strncpy(serverAddr.sun_path,socketName.data(),sizeof(serverAddr.sun_path)-1);
       result=::bind(m_listenFD,(sockaddr*) &serverAddr,sizeof(serverAddr));
       if (result!=0)
       {



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic