[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2] lib/ukargparse: Add maxlen handling to left_shift
From: Andrei Gogonea <andrei.gogonea09@xxxxxxxxx> Change the signature of the left_shift function from argparse.c and add maxlen handling. Signed-off-by: Andrei Gogonea <andrei.gogonea09@xxxxxxxxx> --- lib/ukargparse/argparse.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/ukargparse/argparse.c b/lib/ukargparse/argparse.c index b9e28f18..db7ed130 100644 --- a/lib/ukargparse/argparse.c +++ b/lib/ukargparse/argparse.c @@ -37,11 +37,11 @@ #include <uk/assert.h> -static void left_shift(char *buf) +static void left_shift(char *buf, __sz index, __sz maxlen) { - while(*buf != '\0') { - *buf = *(buf + 1); - buf++; + while(buf[index] != '\0' && index < maxlen) { + buf[index] = buf[index + 1]; + index++; } } @@ -79,17 +79,16 @@ int uk_argnparse(char *argb, __sz maxlen, char *argv[], int maxcount) case '"': if (!in_quote) { in_quote = argb[i]; - left_shift(&argb[i--]); + left_shift(argb, i, maxlen); + --i; break; } if (in_quote == argb[i]) { in_quote = '\0'; - left_shift(&argb[i--]); + left_shift(argb, i, maxlen); + --i; break; } - - - /* Fall through */ default: -- 2.11.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |