From: Jan Arne Petersen <jpeter...@openismus.com>

Signed-off-by: Jan Arne Petersen <jpeter...@openismus.com>
---
 clients/editor.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/clients/editor.c b/clients/editor.c
index 35f6d08..cd24f6a 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -214,7 +214,8 @@ text_input_delete_surrounding_text(void *data,
                return;
        }
 
-       if (entry->pending_commit.delete_index + length > text_length) {
+       if (length > text_length ||
+           entry->pending_commit.delete_index + length > text_length) {
                fprintf(stderr, "Invalid length %d\n", length);
                entry->pending_commit.delete_length = 0;
                return;
@@ -837,6 +838,9 @@ text_entry_delete_text(struct text_entry *entry,
 {
        uint32_t l;
 
+       assert(index <= strlen(entry->text));
+       assert(index + length <= strlen(entry->text));
+       assert(index + length >= length);
 
        l = strlen(entry->text + index + length);
        memmove(entry->text + index,
-- 
1.8.1.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to