gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r23868 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r23868 - gnunet/src/gns
Date: Mon, 17 Sep 2012 18:39:17 +0200

Author: schanzen
Date: 2012-09-17 18:39:17 +0200 (Mon, 17 Sep 2012)
New Revision: 23868

Modified:
   gnunet/src/gns/gnunet-dns2gns.c
Log:
-fix

Modified: gnunet/src/gns/gnunet-dns2gns.c
===================================================================
--- gnunet/src/gns/gnunet-dns2gns.c     2012-09-17 16:30:25 UTC (rev 23867)
+++ gnunet/src/gns/gnunet-dns2gns.c     2012-09-17 16:39:17 UTC (rev 23868)
@@ -400,12 +400,42 @@
                             &name[name_len - strlen (fcfs_suffix)])) )
       {
         name[name_len - strlen (fcfs_suffix)] = '\0';
-        sprintf (name, "%s.%s", name, GNUNET_GNS_TLD);
+        if (0 == strcmp (name, ""))
+          strcpy (name, GNUNET_GNS_TLD);
+        else
+        {
+          if (sizeof (name) < (strlen (GNUNET_GNS_TLD)+strlen (name)))
+          {
+            GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                        "Name %s.%s is too long!\n",
+                        name,
+                        GNUNET_GNS_TLD);
+            GNUNET_DNSPARSER_free_packet (request->packet);
+            return;
+          }
+          sprintf (name, "%s.%s", name, GNUNET_GNS_TLD);
+        }
       }
       else
       {
-        name[name_len - strlen (dns_suffix) + 1] = '\0';
-        strcat (name, GNUNET_GNS_TLD_ZKEY);
+        name[name_len - strlen (dns_suffix)] = '\0';
+        if (0 == strcmp (name, ""))
+        {
+          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                      "No zkey given!\n");
+          GNUNET_DNSPARSER_free_packet (request->packet);
+          return;
+        }
+        if (sizeof (name) < (strlen (GNUNET_GNS_TLD_ZKEY)+strlen (name)))
+        {
+          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                      "Name %s.%s is too long!\n",
+                      name,
+                      GNUNET_GNS_TLD);
+          GNUNET_DNSPARSER_free_packet (request->packet);
+          return;
+        }
+        sprintf (name, "%s.%s", name, GNUNET_GNS_TLD_ZKEY);
       }
       name_len = strlen (name);
     }




reply via email to

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