All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/3] tls: Ensure callbacks are available before using them
@ 2023-01-03 14:40 Marcel Holtmann
  0 siblings, 0 replies; only message in thread
From: Marcel Holtmann @ 2023-01-03 14:40 UTC (permalink / raw)
  To: ell; +Cc: andrew.zaborowski

The common callbacks for TLS ready, disconnect and transmission of
packets are required to be set for any l_tls object. The app_data
callback is made optional in case implementations want to provide
an out-of-band data path.
---
 ell/tls.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ell/tls.c b/ell/tls.c
index 687797f1e466..207f6c3ae40f 100644
--- a/ell/tls.c
+++ b/ell/tls.c
@@ -3357,6 +3357,9 @@ LIB_EXPORT struct l_tls *l_tls_new(bool server,
 	if (!l_key_is_supported(L_KEY_FEATURE_CRYPTO))
 		return NULL;
 
+	if (!tx_handler || !ready_handler || !disconnect_handler)
+		return NULL;
+
 	tls = l_new(struct l_tls, 1);
 	tls->server = server;
 	tls->rx = app_data_handler;
@@ -3561,7 +3564,8 @@ bool tls_handle_message(struct l_tls *tls, const uint8_t *message,
 			return true;
 
 		tls->in_callback = true;
-		tls->rx(message, len, tls->user_data);
+		if (tls->rx)
+			tls->rx(message, len, tls->user_data);
 		tls->in_callback = false;
 
 		if (tls->pending_destroy) {
-- 
2.39.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-03 14:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-03 14:40 [PATCH 3/3] tls: Ensure callbacks are available before using them Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.