gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r10480 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r10480 - gnunet/src/transport
Date: Thu, 4 Mar 2010 10:22:01 +0100

Author: grothoff
Date: 2010-03-04 10:22:01 +0100 (Thu, 04 Mar 2010)
New Revision: 10480

Modified:
   gnunet/src/transport/test_transport_api.c
Log:
handle NULL return, fix leak

Modified: gnunet/src/transport/test_transport_api.c
===================================================================
--- gnunet/src/transport/test_transport_api.c   2010-03-04 09:18:59 UTC (rev 
10479)
+++ gnunet/src/transport/test_transport_api.c   2010-03-04 09:22:01 UTC (rev 
10480)
@@ -358,20 +358,16 @@
       sprintf (buf, "%s/%s", pos, "gnunet-nat-server");
       if (GNUNET_DISK_file_test (buf) == GNUNET_YES)
         {
-          pos = GNUNET_strdup (buf);
-          GNUNET_free (buf);
           GNUNET_free (path);
-          return pos;
+          return buf;
         }
       pos = end + 1;
     }
   sprintf (buf, "%s/%s", pos, "gnunet-nat-server");
   if (GNUNET_DISK_file_test (buf) == GNUNET_YES)
     {
-      pos = GNUNET_strdup (buf);
-      GNUNET_free (buf);
       GNUNET_free (path);
-      return pos;
+      return buf;
     }
   GNUNET_free (buf);
   GNUNET_free (path);
@@ -383,9 +379,17 @@
 check_gnunet_nat_server()
 {
   struct stat statbuf;
+  char *p;
 
-  if (0 != STAT (get_path_from_PATH(), &statbuf))
-    return GNUNET_SYSERR;
+  p = get_path_from_PATH ();
+  if (p == NULL)
+    return GNUNET_NO;
+  if (0 != STAT (p, &statbuf))
+    {
+      GNUNET_free (p);
+      return GNUNET_SYSERR;
+    }
+  GNUNET_free (p);
   if ( (0 != (statbuf.st_mode & S_ISUID)) && 
        (statbuf.st_uid == 0) )    
     return GNUNET_YES;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]