subscr: Fix subscr leaks in the KI code.
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c
index e04d9f5..844ad3f 100644
--- a/openbsc/src/vty_interface_layer3.c
+++ b/openbsc/src/vty_interface_layer3.c
@@ -540,18 +540,23 @@
 		minlen = maxlen = A38_COMP128_KEY_LEN;
 	} else {
 		/* Unknown method */
+		subscr_put(subscr);
 		return CMD_WARNING;
 	}
 
 	if (ki_str) {
 		rc = hexparse(ki_str, ainfo.a3a8_ki, sizeof(ainfo.a3a8_ki));
-		if ((rc > maxlen) || (rc < minlen))
+		if ((rc > maxlen) || (rc < minlen)) {
+			subscr_put(subscr);
 			return CMD_WARNING;
+		}
 		ainfo.a3a8_ki_len = rc;
 	} else {
 		ainfo.a3a8_ki_len = 0;
-		if (minlen)
+		if (minlen) {
+			subscr_put(subscr);
 			return CMD_WARNING;
+		}
 	}
 
 	rc = db_sync_authinfo_for_subscr(
@@ -560,6 +565,7 @@
 
 	/* the last tuple probably invalid with the new auth settings */
 	db_sync_lastauthtuple_for_subscr(NULL, subscr);
+	subscr_put(subscr);
 
 	return rc ? CMD_WARNING : CMD_SUCCESS;
 }