diff --git a/client/tarantar/indexate.c b/client/tarantar/indexate.c
index e43ccdff958343233ccfc9762a66f8234de34f8a..e53ae6f51af1ba7e1191c383fd2b7770195b1e2b 100644
--- a/client/tarantar/indexate.c
+++ b/client/tarantar/indexate.c
@@ -359,7 +359,7 @@ xlog_process(struct ts_spaces *s, char *wal_dir, uint64_t file_lsn,
 static int
 waldir_processof(struct ts_spaces *s, struct tnt_dir *wal_dir, int i)
 {
-	int rc;
+	int rc = 0;
 	if (i < wal_dir->count) {
 		rc = xlog_process(s, wal_dir->path, wal_dir->files[i].lsn,
 		                  tss.last_snap_lsn, &tss.last_xlog_lsn);
diff --git a/client/tarantool/tc.c b/client/tarantool/tc.c
index 536226aeaba9d45f8d70d74a970d1808acde67b2..44bd9eac7673ea73534fabedb7cdf3afc9a03091 100644
--- a/client/tarantool/tc.c
+++ b/client/tarantool/tc.c
@@ -107,9 +107,10 @@ static int get_admin_port(void)
 	}
 	struct tnt_tuple *tu = TNT_ILIST_TUPLE(&it);
 	tnt_iter(&ifl, tu);
-	if (!tnt_next(&ifl)) { goto end; }
+	if (!tnt_next(&ifl)) {
+		tc_error("Can't get admin port from primary port");
+	}
 	int port = *((uint32_t* )TNT_IFIELD_DATA(&ifl));
-end:
 	tnt_iter_free(&ifl);
 	tnt_iter_free(&it);
 	tnt_iter_free(&i);
diff --git a/client/tarantool/tc_cli.c b/client/tarantool/tc_cli.c
index a3ba4c8a42765b2baa0aab7b3dc1888e337084fe..efcf40a396611e323cd7331a87725ceddb9c612c 100644
--- a/client/tarantool/tc_cli.c
+++ b/client/tarantool/tc_cli.c
@@ -458,19 +458,24 @@ int tc_cli(void)
 			continue;
 		}
 		tc_buf_str_stripws(&cmd);
-		if (delim_exists && tc_buf_str_isempty(&cmd))
-			goto next;
-		enum tc_cli_cmd_ret ret = tc_cli_cmd(cmd.data,
+		if (delim_exists && tc_buf_str_isempty(&cmd)) {
+			tc_buf_clear(&cmd);
+			if (feof(stdin)) {
+				tc_buf_free(&cmd);
+				break;
+			}
+		} else {
+			enum tc_cli_cmd_ret ret = tc_cli_cmd(cmd.data,
 						     cmd.used - 1);
-		if (isatty(STDIN_FILENO))
-			add_history(cmd.data);
-next:
-		tc_buf_clear(&cmd);
-		if (ret == TC_CLI_EXIT || feof(stdin)) {
-			tc_buf_free(&cmd);
-			break;
+			if (isatty(STDIN_FILENO))
+				add_history(cmd.data);
+			tc_buf_clear(&cmd);
+			if (ret == TC_CLI_EXIT || feof(stdin)) {
+				tc_buf_free(&cmd);
+				break;
+			}
 		}
-}
+	}
 
 	/* updating history file */
 	write_history(history);
diff --git a/debian/control b/debian/control
index e52ef0d156e50a16d105a641a2cd4414cf1b190c..337eccef001b52522b11e2a3a70af257262ff751 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Build-Depends: cdbs, debhelper (>= 8),
  python-daemon,
  python-pexpect,
  libncurses5-dev,
- binutils-dev | libiberty-dev,
+ binutils-dev (< 2.23) | libiberty-dev,
  libmysqlclient-dev,
  libpq-dev
 Section: database
diff --git a/src/box/box_lua.cc b/src/box/box_lua.cc
index cc7e7a3307fc743dd8567ceec12de9df575db747..e047033b5fcd184c3e43c59c2f76739fb839e113 100644
--- a/src/box/box_lua.cc
+++ b/src/box/box_lua.cc
@@ -452,6 +452,7 @@ static int
 lbox_tuple_unpack(struct lua_State *L)
 {
 	int argc = lua_gettop(L);
+	(void) argc;
 	struct tuple *tuple = lua_checktuple(L, 1);
 
 	struct tuple_iterator it;
diff --git a/src/salloc.cc b/src/salloc.cc
index 5eb51fca02d28bdc4ee28f73fc608e3ac0d86abe..14108bf31c7f02647062523d83256ec989d055de 100644
--- a/src/salloc.cc
+++ b/src/salloc.cc
@@ -358,6 +358,7 @@ sfree_delayed(void *ptr)
 		return sfree(ptr);
 	struct slab_item *item = (struct slab_item *)ptr;
 	struct slab *slab = slab_header(item);
+	(void) slab;
 	assert(valid_item(slab, item));
 	SLIST_INSERT_HEAD(&free_delayed, item, next);
 	arena.delayed_free_count++;