diff mbox series

[v4,1/2] Add SAFE_SETHOSTNAME macro

Message ID 20230125100043.32349-2-andrea.cervesato@suse.com
State Superseded
Headers show
Series Rewrite utstest suite | expand

Commit Message

Andrea Cervesato Jan. 25, 2023, 10 a.m. UTC
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/safe_net_fn.h  |  3 +++
 include/tst_safe_net.h |  3 +++
 lib/safe_net.c         | 17 +++++++++++++++++
 3 files changed, 23 insertions(+)

Comments

Richard Palethorpe Feb. 9, 2023, 10:10 a.m. UTC | #1
Hello,

Reviewed-by: Richard Palethorpe <rpalethorpe@suse.com>

Andrea Cervesato via ltp <ltp@lists.linux.it> writes:

> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
>  include/safe_net_fn.h  |  3 +++
>  include/tst_safe_net.h |  3 +++
>  lib/safe_net.c         | 17 +++++++++++++++++
>  3 files changed, 23 insertions(+)
>
> diff --git a/include/safe_net_fn.h b/include/safe_net_fn.h
> index ff81b1337..6c63cb2cf 100644
> --- a/include/safe_net_fn.h
> +++ b/include/safe_net_fn.h
> @@ -73,6 +73,9 @@ int safe_getsockname(const char *file, const int lineno,
>  int safe_gethostname(const char *file, const int lineno,
>  		     char *name, size_t size);
>  
> +int safe_sethostname(const char *file, const int lineno,
> +		     const char *name, size_t size);
> +
>  int tst_getsockport(const char *file, const int lineno, int sockfd);
>  
>  unsigned short tst_get_unused_port(const char *file, const int lineno,
> diff --git a/include/tst_safe_net.h b/include/tst_safe_net.h
> index e85b79a3e..98f0256fd 100644
> --- a/include/tst_safe_net.h
> +++ b/include/tst_safe_net.h
> @@ -68,6 +68,9 @@
>  #define SAFE_GETHOSTNAME(name, size) \
>  	safe_gethostname(__FILE__, __LINE__, name, size)
>  
> +#define SAFE_SETHOSTNAME(name, size) \
> +	safe_sethostname(__FILE__, __LINE__, name, size)
> +
>  #define TST_GETSOCKPORT(sockfd) \
>  	tst_getsockport(__FILE__, __LINE__, sockfd)
>  
> diff --git a/lib/safe_net.c b/lib/safe_net.c
> index 1717f0745..5dec0de11 100644
> --- a/lib/safe_net.c
> +++ b/lib/safe_net.c
> @@ -469,6 +469,23 @@ int safe_gethostname(const char *file, const int lineno,
>  	return rval;
>  }
>  
> +int safe_sethostname(const char *file, const int lineno,
> +		     const char *name, size_t size)
> +{
> +	int rval = sethostname(name, size);
> +
> +	if (rval == -1) {
> +		tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
> +			"sethostname(%p, %zu) failed", name, size);
> +	} else if (rval) {
> +		tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
> +			"Invalid sethostname(%p, %zu) return value %d", name,
> +			size, rval);
> +	}
> +
> +	return rval;
> +}
> +
>  /*
>   * @return port in network byte order.
>   */
> -- 
> 2.35.3
diff mbox series

Patch

diff --git a/include/safe_net_fn.h b/include/safe_net_fn.h
index ff81b1337..6c63cb2cf 100644
--- a/include/safe_net_fn.h
+++ b/include/safe_net_fn.h
@@ -73,6 +73,9 @@  int safe_getsockname(const char *file, const int lineno,
 int safe_gethostname(const char *file, const int lineno,
 		     char *name, size_t size);
 
+int safe_sethostname(const char *file, const int lineno,
+		     const char *name, size_t size);
+
 int tst_getsockport(const char *file, const int lineno, int sockfd);
 
 unsigned short tst_get_unused_port(const char *file, const int lineno,
diff --git a/include/tst_safe_net.h b/include/tst_safe_net.h
index e85b79a3e..98f0256fd 100644
--- a/include/tst_safe_net.h
+++ b/include/tst_safe_net.h
@@ -68,6 +68,9 @@ 
 #define SAFE_GETHOSTNAME(name, size) \
 	safe_gethostname(__FILE__, __LINE__, name, size)
 
+#define SAFE_SETHOSTNAME(name, size) \
+	safe_sethostname(__FILE__, __LINE__, name, size)
+
 #define TST_GETSOCKPORT(sockfd) \
 	tst_getsockport(__FILE__, __LINE__, sockfd)
 
diff --git a/lib/safe_net.c b/lib/safe_net.c
index 1717f0745..5dec0de11 100644
--- a/lib/safe_net.c
+++ b/lib/safe_net.c
@@ -469,6 +469,23 @@  int safe_gethostname(const char *file, const int lineno,
 	return rval;
 }
 
+int safe_sethostname(const char *file, const int lineno,
+		     const char *name, size_t size)
+{
+	int rval = sethostname(name, size);
+
+	if (rval == -1) {
+		tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+			"sethostname(%p, %zu) failed", name, size);
+	} else if (rval) {
+		tst_brkm_(file, lineno, TBROK | TERRNO, NULL,
+			"Invalid sethostname(%p, %zu) return value %d", name,
+			size, rval);
+	}
+
+	return rval;
+}
+
 /*
  * @return port in network byte order.
  */