From f8da1dfaabff3522c5547d774f9befe2017d5e60 Mon Sep 17 00:00:00 2001 From: Michael Tuexen <tuexen@fh-muenster.de> Date: Tue, 28 Jun 2016 20:16:44 +0200 Subject: [PATCH] When unescaping a string, the last zero byte from the input string must be copied to the output string. The space required for that extra byte must also be allocated. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> --- gtests/net/packetdrill/script.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtests/net/packetdrill/script.c b/gtests/net/packetdrill/script.c index 250dcd4c..3b8c373a 100644 --- a/gtests/net/packetdrill/script.c +++ b/gtests/net/packetdrill/script.c @@ -266,7 +266,7 @@ char *flags_to_string(struct flag_name *flags_array, u64 flags) static int unescape_cstring_expression(const char *input_string, struct expression *out, char **error) { - int bytes = strlen(input_string); + int bytes = strlen(input_string) + 1; out->type = EXPR_STRING; out->value.string = (char *)malloc(bytes); const char *c_in = input_string; @@ -305,6 +305,7 @@ static int unescape_cstring_expression(const char *input_string, ++c_in; ++c_out; } + *c_out = *c_in; return STATUS_OK; } -- GitLab