diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-12-22 10:29:14 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-12-22 10:29:14 +0000 |
commit | bd29c8e671f385684aa563ce12323a77c444f120 (patch) | |
tree | 8866cc96c89eb7053828255ad077501c0318f41c /src/core/gnunet-service-core.c | |
parent | 96549560dd56b2c51780731a75c7ae874a4fa744 (diff) | |
download | gnunet-bd29c8e671f385684aa563ce12323a77c444f120.tar.gz gnunet-bd29c8e671f385684aa563ce12323a77c444f120.zip |
fix segv
Diffstat (limited to 'src/core/gnunet-service-core.c')
-rw-r--r-- | src/core/gnunet-service-core.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 8bac3e7e7..c8662d56e 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c | |||
@@ -1113,12 +1113,15 @@ schedule_peer_messages (struct Neighbour *n) | |||
1113 | } | 1113 | } |
1114 | if (car == NULL) | 1114 | if (car == NULL) |
1115 | return; /* no pending requests */ | 1115 | return; /* no pending requests */ |
1116 | GNUNET_CONTAINER_DLL_remove (n->active_client_request_head, | ||
1117 | n->active_client_request_tail, | ||
1118 | car); | ||
1116 | } | 1119 | } |
1117 | else | 1120 | else |
1118 | { | 1121 | { |
1119 | car = n->active_client_request_head; | 1122 | car = n->active_client_request_head; |
1120 | if (car == NULL) | 1123 | if (car == NULL) |
1121 | return; | 1124 | return; /* no pending requests */ |
1122 | } | 1125 | } |
1123 | #if DEBUG_CORE_CLIENT | 1126 | #if DEBUG_CORE_CLIENT |
1124 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1127 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
@@ -1126,12 +1129,10 @@ schedule_peer_messages (struct Neighbour *n) | |||
1126 | GNUNET_i2s (&n->peer)); | 1129 | GNUNET_i2s (&n->peer)); |
1127 | #endif | 1130 | #endif |
1128 | c = car->client; | 1131 | c = car->client; |
1129 | GNUNET_CONTAINER_DLL_remove (n->active_client_request_head, | 1132 | GNUNET_assert (GNUNET_YES == |
1130 | n->active_client_request_tail, | 1133 | GNUNET_CONTAINER_multihashmap_remove (c->requests, |
1131 | car); | 1134 | &n->peer.hashPubKey, |
1132 | GNUNET_CONTAINER_multihashmap_remove (c->requests, | 1135 | car)); |
1133 | &n->peer.hashPubKey, | ||
1134 | car); | ||
1135 | smr.header.size = htons (sizeof (struct SendMessageReady)); | 1136 | smr.header.size = htons (sizeof (struct SendMessageReady)); |
1136 | smr.header.type = htons (GNUNET_MESSAGE_TYPE_CORE_SEND_READY); | 1137 | smr.header.type = htons (GNUNET_MESSAGE_TYPE_CORE_SEND_READY); |
1137 | smr.size = htons (car->msize); | 1138 | smr.size = htons (car->msize); |