diff options
-rw-r--r-- | src/twister/taler-twister-service.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/twister/taler-twister-service.c b/src/twister/taler-twister-service.c index 66b298e..68bdfcc 100644 --- a/src/twister/taler-twister-service.c +++ b/src/twister/taler-twister-service.c @@ -2595,8 +2595,15 @@ handle_flip_path_dl (void *cls, const struct TWISTER_FlipPath *src) { struct GNUNET_SERVICE_Client *c = cls; + size_t tailsize; - strcpy (flip_path_dl, src->path); + tailsize = src->header.size - sizeof (*src); + + GNUNET_assert + (tailsize == GNUNET_STRINGS_buffer_tokenize ((char *) &src[1], + tailsize, + 1, + &flip_path_dl)); send_acknowledgement (c); } @@ -2612,8 +2619,15 @@ handle_flip_path_ul (void *cls, const struct TWISTER_FlipPath *src) { struct GNUNET_SERVICE_Client *c = cls; + size_t tailsize; - strcpy (flip_path_ul, src->path); + tailsize = src->header.size - sizeof (*src); + + GNUNET_assert + (tailsize == GNUNET_STRINGS_buffer_tokenize ((char *) &src[1], + tailsize, + 1, + &flip_path_dl)); send_acknowledgement (c); } |