[CRIU] [PATCH] compel: std_vprint_num returns a null-terminated string
Joel Nider
joeln at il.ibm.com
Mon May 7 16:36:23 MSK 2018
This function is an analogue to vsprintf(), and is used in very much the
same way. The caller expects the modified string pointer to be pointing to
a null-terminated string.
Signed-off-by: Joel Nider <joeln at il.ibm.com>
---
compel/plugins/std/log.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/compel/plugins/std/log.c b/compel/plugins/std/log.c
index 2d622d6..4f2e9e7 100644
--- a/compel/plugins/std/log.c
+++ b/compel/plugins/std/log.c
@@ -143,6 +143,7 @@ int std_vprint_num(char *buf, int blen, int num, char **ps)
char *s;
s = &buf[blen - 1];
+ *s-- = 0; /* make sure the returned string is NULL terminated */
if (num < 0) {
neg = 1;
@@ -166,7 +167,7 @@ int std_vprint_num(char *buf, int blen, int num, char **ps)
done:
s++;
*ps = s;
- return blen - (s - buf);
+ return blen - (s - buf) - 1;
}
static void print_num(int num, struct simple_buf *b)
--
2.7.4
More information about the CRIU
mailing list