aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2012-09-17 16:39:17 +0000
committerMartin Schanzenbach <mschanzenbach@posteo.de>2012-09-17 16:39:17 +0000
commit227bbaeddcc4faaf06d04511feee871c0ae000d2 (patch)
treebad2baaad39c77de14c3c214b065ebe9613268cf
parentc4d19b5df08c59a991c793c8d9cb6432de760e48 (diff)
downloadgnunet-227bbaeddcc4faaf06d04511feee871c0ae000d2.tar.gz
gnunet-227bbaeddcc4faaf06d04511feee871c0ae000d2.zip
-fix
-rw-r--r--src/gns/gnunet-dns2gns.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c
index e6e5ec054..725dcd246 100644
--- a/src/gns/gnunet-dns2gns.c
+++ b/src/gns/gnunet-dns2gns.c
@@ -400,12 +400,42 @@ handle_request (struct GNUNET_NETWORK_Handle *lsock,
400 &name[name_len - strlen (fcfs_suffix)])) ) 400 &name[name_len - strlen (fcfs_suffix)])) )
401 { 401 {
402 name[name_len - strlen (fcfs_suffix)] = '\0'; 402 name[name_len - strlen (fcfs_suffix)] = '\0';
403 sprintf (name, "%s.%s", name, GNUNET_GNS_TLD); 403 if (0 == strcmp (name, ""))
404 strcpy (name, GNUNET_GNS_TLD);
405 else
406 {
407 if (sizeof (name) < (strlen (GNUNET_GNS_TLD)+strlen (name)))
408 {
409 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
410 "Name %s.%s is too long!\n",
411 name,
412 GNUNET_GNS_TLD);
413 GNUNET_DNSPARSER_free_packet (request->packet);
414 return;
415 }
416 sprintf (name, "%s.%s", name, GNUNET_GNS_TLD);
417 }
404 } 418 }
405 else 419 else
406 { 420 {
407 name[name_len - strlen (dns_suffix) + 1] = '\0'; 421 name[name_len - strlen (dns_suffix)] = '\0';
408 strcat (name, GNUNET_GNS_TLD_ZKEY); 422 if (0 == strcmp (name, ""))
423 {
424 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
425 "No zkey given!\n");
426 GNUNET_DNSPARSER_free_packet (request->packet);
427 return;
428 }
429 if (sizeof (name) < (strlen (GNUNET_GNS_TLD_ZKEY)+strlen (name)))
430 {
431 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
432 "Name %s.%s is too long!\n",
433 name,
434 GNUNET_GNS_TLD);
435 GNUNET_DNSPARSER_free_packet (request->packet);
436 return;
437 }
438 sprintf (name, "%s.%s", name, GNUNET_GNS_TLD_ZKEY);
409 } 439 }
410 name_len = strlen (name); 440 name_len = strlen (name);
411 } 441 }