smpp: Add the classic check for osmo_fd_register

In case the osmo_fd_register will fail we will need to free the
memory we have allocated.

Fixes: Coverity CID 1042375
diff --git a/openbsc/src/libmsc/smpp_smsc.c b/openbsc/src/libmsc/smpp_smsc.c
index 6acd52a..2b17d12 100644
--- a/openbsc/src/libmsc/smpp_smsc.c
+++ b/openbsc/src/libmsc/smpp_smsc.c
@@ -878,7 +878,11 @@
 	esme->wqueue.bfd.fd = fd;
 	esme->wqueue.bfd.data = esme;
 	esme->wqueue.bfd.when = BSC_FD_READ;
-	osmo_fd_register(&esme->wqueue.bfd);
+
+	if (osmo_fd_register(&esme->wqueue.bfd) != 0) {
+		talloc_free(esme);
+		return -EIO;
+	}
 
 	esme->wqueue.read_cb = esme_link_read_cb;
 	esme->wqueue.write_cb = esme_link_write_cb;