telnet_interface: Handle osmo_fd_register() eror return code

Change-Id: I5bc1c2cbb04e363d868355b5ed866b4840f16c61
Fixes: Coverity 57637
diff --git a/src/vty/telnet_interface.c b/src/vty/telnet_interface.c
index e86a6b1..218f9ab 100644
--- a/src/vty/telnet_interface.c
+++ b/src/vty/telnet_interface.c
@@ -145,6 +145,7 @@
 	struct sockaddr_in sockaddr;
 	socklen_t len = sizeof(sockaddr);
 	int new_connection = accept(fd->fd, (struct sockaddr*)&sockaddr, &len);
+	int rc;
 
 	if (new_connection < 0) {
 		LOGP(0, LOGL_ERROR, "telnet accept failed\n");
@@ -157,7 +158,11 @@
 	connection->fd.fd = new_connection;
 	connection->fd.when = BSC_FD_READ;
 	connection->fd.cb = client_data;
-	osmo_fd_register(&connection->fd);
+	rc = osmo_fd_register(&connection->fd);
+	if (rc < 0) {
+		talloc_free(connection);
+		return rc;
+	}
 	llist_add_tail(&connection->entry, &active_connections);
 
 	connection->vty = vty_create(new_connection, connection);