gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r27067 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r27067 - gnunet/src/testbed
Date: Wed, 8 May 2013 13:52:44 +0200

Author: harsha
Date: 2013-05-08 13:52:44 +0200 (Wed, 08 May 2013)
New Revision: 27067

Modified:
   gnunet/src/testbed/gnunet-service-testbed_cpustatus.c
Log:
- limit hostname as gethostname() has undefined behavior when hostname exceeds
- the given length


Modified: gnunet/src/testbed/gnunet-service-testbed_cpustatus.c
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed_cpustatus.c       2013-05-08 
11:40:10 UTC (rev 27066)
+++ gnunet/src/testbed/gnunet-service-testbed_cpustatus.c       2013-05-08 
11:52:44 UTC (rev 27067)
@@ -642,7 +642,8 @@
   char *hostname;
   char *stats_dir;
   char *fn;
-
+  size_t len;
+  
 #if MINGW
   GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
               "Load statistics logging now available for windows\n");
@@ -653,17 +654,20 @@
       GNUNET_CONFIGURATION_get_value_string (cfg, "testbed",
                                              "STATS_DIR", &stats_dir))
     return;
-  hostname = GNUNET_malloc (GNUNET_OS_get_hostname_max_length ());
-  if (0 != gethostname  (hostname, GNUNET_OS_get_hostname_max_length ()))
+  len = GNUNET_OS_get_hostname_max_length ();
+  hostname = GNUNET_malloc (len);
+  if (0 != gethostname  (hostname, len))
   {
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "gethostname");
     GNUNET_free (stats_dir);
+    GNUNET_free (hostname);
     return;
   }
   fn = NULL;  
-  (void) GNUNET_asprintf (&fn, "%s/%s-%jd.dat", stats_dir, 
+  (void) GNUNET_asprintf (&fn, "%s/%.*s-%jd.dat", stats_dir, len,
                           hostname, (intmax_t) getpid());
   GNUNET_free (stats_dir);
+  GNUNET_free (hostname);
   if (NULL == (bw = GNUNET_BIO_write_open (fn)))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,




reply via email to

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