fix
authorChristian Grothoff <christian@grothoff.org>
Fri, 16 Apr 2010 15:40:21 +0000 (15:40 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 16 Apr 2010 15:40:21 +0000 (15:40 +0000)
src/transport/gnunet-service-transport.c

index 5b4db0e64e9f1240e2428dbc5448963485a9b45c..4cf09ed4c9a70083a89c7535ad5d67c8ad1c5168 100644 (file)
@@ -3272,8 +3272,10 @@ handle_ping(void *cls, const struct GNUNET_MessageHeader *message,
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
              "Processing `%s' from `%s'\n",
              "PING", 
-             GNUNET_a2s ((const struct sockaddr *)sender_address, 
-                         sender_address_len));
+             (sender_address != NULL) 
+             ? GNUNET_a2s ((const struct sockaddr *)sender_address, 
+                           sender_address_len)
+             : "<inbound>");
 #endif
   GNUNET_STATISTICS_update (stats,
                            gettext_noop ("# PING messages received"),
@@ -3292,7 +3294,8 @@ handle_ping(void *cls, const struct GNUNET_MessageHeader *message,
   memcpy(&pong->signer, 
         &my_public_key, 
         sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded));
-  memcpy (&pong[1], sender_address, sender_address_len);
+  if (sender_address != NULL)
+    memcpy (&pong[1], sender_address, sender_address_len);
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_CRYPTO_rsa_sign (my_private_key,
                                          &pong->purpose, &pong->signature));