From 1a87ac3858d27639f7118c99070e98020688ee0d Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 24 Jul 2020 21:04:14 -0400 Subject: [PATCH] Improve patty_ax25_sock_params_set() validation Changes: * Improve patty_ax25_sock_params_set() validation by setting ENOTSUP when setting options on a socket that don't make sense, such as no Asynchronous Balanced Mode --- src/sock.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/sock.c b/src/sock.c index 0351dfc..cedbeb3 100644 --- a/src/sock.c +++ b/src/sock.c @@ -183,18 +183,15 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock, patty_ax25_params *params) { if (params->flags & PATTY_AX25_PARAM_CLASSES) { if (!(params->classes & PATTY_AX25_PARAM_CLASSES_ABM)) { - goto error_invalid; + goto error_notsup; } - /* - * TODO: Eventually support full duplex - */ if (!(params->classes & PATTY_AX25_PARAM_CLASSES_HALF_DUPLEX)) { - goto error_invalid; + goto error_notsup; } if (params->classes & PATTY_AX25_PARAM_CLASSES_FULL_DUPLEX) { - goto error_invalid; + goto error_notsup; } } @@ -259,6 +256,11 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock, return 0; +error_notsup: + errno = ENOTSUP; + + return -1; + error_invalid: errno = EINVAL;