From 24048a7f12c5f91354a9caa9ad7b758336d3fc59 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 18 Nov 2007 09:17:49 +0000 Subject: [PATCH] (save_input, seen_input): Assert argument ends with a newline. --- src/client/secure.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/client/secure.c b/src/client/secure.c index 258ee313..deecea2a 100644 --- a/src/client/secure.c +++ b/src/client/secure.c @@ -33,6 +33,7 @@ #include +#include #include #include "ringbuf.h" #include "secure.h" @@ -45,6 +46,8 @@ save_input(char *inp) size_t len = strlen(inp); int left; + assert(len && inp[len - 1] == '\n'); + left = ring_putm(&recent_input, inp, len); if (left < 0) { ring_discard(&recent_input, ring_search(&recent_input, "\n")); @@ -55,11 +58,14 @@ save_input(char *inp) int seen_input(char *tail) { + size_t len = strlen(tail); int dist = ring_search(&recent_input, tail); + assert(len && tail[len - 1] == '\n'); + if (dist < 0) return 0; - ring_discard(&recent_input, dist + strlen(tail)); + ring_discard(&recent_input, dist + len); return 1; }