Index: uspace/app/bdsh/errors.h
===================================================================
--- uspace/app/bdsh/errors.h	(revision 4b640a292460255303dbcc9d8d17bd898ed10c45)
+++ uspace/app/bdsh/errors.h	(revision 702536882b248833b02d3693809a7bb0f21bcbd1)
@@ -30,4 +30,6 @@
 #define ERRORS_H
 
+#include <io/verify.h>
+
 /* Various error levels */
 #define CL_EFATAL  -1
@@ -46,5 +48,6 @@
 extern volatile int cli_errno;
 
-extern void cli_error(int, const char *, ...);
+extern void cli_error(int, const char *, ...)
+    PRINTF_ATTRIBUTE(2, 3);
 
 #endif
Index: uspace/app/bdsh/input.c
===================================================================
--- uspace/app/bdsh/input.c	(revision 4b640a292460255303dbcc9d8d17bd898ed10c45)
+++ uspace/app/bdsh/input.c	(revision 702536882b248833b02d3693809a7bb0f21bcbd1)
@@ -67,7 +67,8 @@
 int process_input(cliuser_t *usr)
 {
-	token_t *tokens = calloc(WORD_MAX, sizeof(token_t));
-	if (tokens == NULL)
+	token_t *tokens_buf = calloc(WORD_MAX, sizeof(token_t));
+	if (tokens_buf == NULL)
 		return ENOMEM;
+	token_t *tokens = tokens_buf;
 	
 	char *cmd[WORD_MAX];
@@ -80,5 +81,5 @@
 
 	if (usr->line == NULL) {
-		free(tokens);
+		free(tokens_buf);
 		return CL_EFAIL;
 	}
@@ -213,5 +214,5 @@
 	}
 	tok_fini(&tok);
-	free(tokens);
+	free(tokens_buf);
 
 	return rc;
Index: uspace/app/edit/edit.c
===================================================================
--- uspace/app/edit/edit.c	(revision 4b640a292460255303dbcc9d8d17bd898ed10c45)
+++ uspace/app/edit/edit.c	(revision 702536882b248833b02d3693809a7bb0f21bcbd1)
@@ -111,5 +111,4 @@
 #define BUF_SIZE 64
 #define TAB_WIDTH 8
-#define ED_INFTY 65536
 
 /** Maximum filename length that can be entered. */
@@ -507,4 +506,5 @@
 static void key_handle_movement(unsigned int key, bool select)
 {
+	spt_t pt;
 	switch (key) {
 	case KC_LEFT:
@@ -521,8 +521,12 @@
 		break;
 	case KC_HOME:
-		caret_move_relative(0, -ED_INFTY, dir_after, select);
+		tag_get_pt(&pane.caret_pos, &pt);
+		pt_get_sol(&pt, &pt);
+		caret_move(pt, select, true);
 		break;
 	case KC_END:
-		caret_move_relative(0, +ED_INFTY, dir_before, select);
+		tag_get_pt(&pane.caret_pos, &pt);
+		pt_get_eol(&pt, &pt);
+		caret_move(pt, select, true);
 		break;
 	case KC_PAGE_UP:
Index: uspace/app/top/screen.h
===================================================================
--- uspace/app/top/screen.h	(revision 4b640a292460255303dbcc9d8d17bd898ed10c45)
+++ uspace/app/top/screen.h	(revision 702536882b248833b02d3693809a7bb0f21bcbd1)
@@ -36,4 +36,5 @@
 
 #include <io/console.h>
+#include <io/verify.h>
 #include "top.h"
 
@@ -43,5 +44,6 @@
 extern void screen_done(void);
 extern void print_data(data_t *);
-extern void show_warning(const char *, ...);
+extern void show_warning(const char *, ...)
+    PRINTF_ATTRIBUTE(1, 2);
 
 extern int tgetchar(unsigned int);
