telnet_interface: Handle osmo_fd_register() eror return code

Change-Id: I5bc1c2cbb04e363d868355b5ed866b4840f16c61
Fixes: Coverity 57637
This commit is contained in:
Harald Welte 2016-11-26 00:11:53 +01:00
parent 0fc315dd9e
commit 4a1cb09a40
1 changed files with 6 additions and 1 deletions

View File

@ -145,6 +145,7 @@ static int telnet_new_connection(struct osmo_fd *fd, unsigned int what)
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 @@ static int telnet_new_connection(struct osmo_fd *fd, unsigned int what)
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);