Re: [Qemu-devel] [PATCH 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag

2019-01-13 Thread Yuval Shaia
On Sat, Jan 12, 2019 at 05:02:23PM +0200, Marcel Apfelbaum wrote:
> The flag is not recognized by some CLANG versions.
> Add proper constraints in code instead.
> 
> Signed-off-by: Marcel Apfelbaum 
> ---
>  contrib/rdmacm-mux/Makefile.objs | 2 +-
>  contrib/rdmacm-mux/main.c| 6 --
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/contrib/rdmacm-mux/Makefile.objs 
> b/contrib/rdmacm-mux/Makefile.objs
> index be3eacb6f7..e1ff4fe569 100644
> --- a/contrib/rdmacm-mux/Makefile.objs
> +++ b/contrib/rdmacm-mux/Makefile.objs
> @@ -1,4 +1,4 @@
>  ifdef CONFIG_PVRDMA
> -CFLAGS += -libumad -Wno-format-truncation
> +CFLAGS += -libumad
>  rdmacm-mux-obj-y = main.o
>  endif
> diff --git a/contrib/rdmacm-mux/main.c b/contrib/rdmacm-mux/main.c
> index 835a7f9214..64676030c5 100644
> --- a/contrib/rdmacm-mux/main.c
> +++ b/contrib/rdmacm-mux/main.c
> @@ -42,6 +42,8 @@
>  
>  /* The below can be override by command line parameter */
>  #define UNIX_SOCKET_PATH "/var/run/rdmacm-mux"
> +/* Has format %s-%s-%d" -- */
> +#define SOCKET_PATH_MAX (PATH_MAX - NAME_MAX - sizeof(int) - 2)
>  #define RDMA_PORT_NUM 1
>  
>  typedef struct RdmaCmServerArgs {
> @@ -95,7 +97,7 @@ static void help(const char *progname)
>  static void parse_args(int argc, char *argv[])
>  {
>  int c;
> -char unix_socket_path[PATH_MAX];
> +char unix_socket_path[SOCKET_PATH_MAX];
>  
>  strcpy(server.args.rdma_dev_name, "");
>  strcpy(unix_socket_path, UNIX_SOCKET_PATH);
> @@ -113,7 +115,7 @@ static void parse_args(int argc, char *argv[])
>  
>  case 's':
>  /* This is temporary, final name will build below */
> -strncpy(unix_socket_path, optarg, PATH_MAX);
> +strncpy(unix_socket_path, optarg, SOCKET_PATH_MAX);
>  break;
>  

Reviewed-by: Yuval Shaia 

>  case 'p':
> -- 
> 2.17.1
> 



[Qemu-devel] [PATCH 1/3] contrib/rdmacm-mux: remove Wno-format-truncation flag

2019-01-12 Thread Marcel Apfelbaum
The flag is not recognized by some CLANG versions.
Add proper constraints in code instead.

Signed-off-by: Marcel Apfelbaum 
---
 contrib/rdmacm-mux/Makefile.objs | 2 +-
 contrib/rdmacm-mux/main.c| 6 --
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/contrib/rdmacm-mux/Makefile.objs b/contrib/rdmacm-mux/Makefile.objs
index be3eacb6f7..e1ff4fe569 100644
--- a/contrib/rdmacm-mux/Makefile.objs
+++ b/contrib/rdmacm-mux/Makefile.objs
@@ -1,4 +1,4 @@
 ifdef CONFIG_PVRDMA
-CFLAGS += -libumad -Wno-format-truncation
+CFLAGS += -libumad
 rdmacm-mux-obj-y = main.o
 endif
diff --git a/contrib/rdmacm-mux/main.c b/contrib/rdmacm-mux/main.c
index 835a7f9214..64676030c5 100644
--- a/contrib/rdmacm-mux/main.c
+++ b/contrib/rdmacm-mux/main.c
@@ -42,6 +42,8 @@
 
 /* The below can be override by command line parameter */
 #define UNIX_SOCKET_PATH "/var/run/rdmacm-mux"
+/* Has format %s-%s-%d" -- */
+#define SOCKET_PATH_MAX (PATH_MAX - NAME_MAX - sizeof(int) - 2)
 #define RDMA_PORT_NUM 1
 
 typedef struct RdmaCmServerArgs {
@@ -95,7 +97,7 @@ static void help(const char *progname)
 static void parse_args(int argc, char *argv[])
 {
 int c;
-char unix_socket_path[PATH_MAX];
+char unix_socket_path[SOCKET_PATH_MAX];
 
 strcpy(server.args.rdma_dev_name, "");
 strcpy(unix_socket_path, UNIX_SOCKET_PATH);
@@ -113,7 +115,7 @@ static void parse_args(int argc, char *argv[])
 
 case 's':
 /* This is temporary, final name will build below */
-strncpy(unix_socket_path, optarg, PATH_MAX);
+strncpy(unix_socket_path, optarg, SOCKET_PATH_MAX);
 break;
 
 case 'p':
-- 
2.17.1