aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2022-12-01 16:22:01 +0900
committerMartin Schanzenbach <schanzen@gnunet.org>2022-12-01 16:22:01 +0900
commit1d69c5149b34fab829fde82e0bf14ab6652051bd (patch)
treecc592da435e4f8a0946cbf2700dad45f9f2c2d4b /src/transport
parent5e746cc2d4f4f17b64f1322e28efa7f65c85cab4 (diff)
downloadgnunet-1d69c5149b34fab829fde82e0bf14ab6652051bd.tar.gz
gnunet-1d69c5149b34fab829fde82e0bf14ab6652051bd.zip
-fix pointer corruption bug
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/gnunet-service-tng.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index b21406a3a..c60c4b2ce 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -8250,8 +8250,7 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8250 struct GNUNET_TIME_Absolute monotime; 8250 struct GNUNET_TIME_Absolute monotime;
8251 struct TransportDVBoxPayloadP ppay; 8251 struct TransportDVBoxPayloadP ppay;
8252 char body[hdr_len - sizeof(ppay)] GNUNET_ALIGN; 8252 char body[hdr_len - sizeof(ppay)] GNUNET_ALIGN;
8253 const struct GNUNET_MessageHeader *mh = 8253 const struct GNUNET_MessageHeader *mh;
8254 (const struct GNUNET_MessageHeader *) body;
8255 8254
8256 GNUNET_assert (hdr_len >= 8255 GNUNET_assert (hdr_len >=
8257 sizeof(ppay) + sizeof(struct GNUNET_MessageHeader)); 8256 sizeof(ppay) + sizeof(struct GNUNET_MessageHeader));
@@ -8263,7 +8262,7 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8263 finish_cmc_handling (cmc); 8262 finish_cmc_handling (cmc);
8264 return; 8263 return;
8265 } 8264 }
8266 if (GNUNET_OK != dv_decrypt (&key, &body, 8265 if (GNUNET_OK != dv_decrypt (&key, body,
8267 &hdr[sizeof(ppay)], hdr_len - sizeof(ppay))) 8266 &hdr[sizeof(ppay)], hdr_len - sizeof(ppay)))
8268 { 8267 {
8269 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 8268 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -8272,6 +8271,7 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8272 finish_cmc_handling (cmc); 8271 finish_cmc_handling (cmc);
8273 return; 8272 return;
8274 } 8273 }
8274 mh = (const struct GNUNET_MessageHeader *) body;
8275 dv_key_clean (&key); 8275 dv_key_clean (&key);
8276 if (ntohs (mh->size) != sizeof(body)) 8276 if (ntohs (mh->size) != sizeof(body))
8277 { 8277 {