Thanks for your advice!
I have updated the solution as follows.
diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
index 0b04504..cec40eb 100644
--- a/multipathd/cli_handlers.c
+++ b/multipathd/cli_handlers.c
@@ -1,6 +1,9 @@
/*
* Copyright (c) 2005 Christophe Varoqui
*/
+#define _GNU_SOURCE
+
+#include <stdio.h>
#include "checkers.h"
#include "memory.h"
#include "vector.h"
@@ -1285,14 +1288,8 @@ cli_getprstatus (void * v, char ** reply, int * len, void * data)
condlog(3, "%s: prflag = %u", param, (unsigned int)mpp->prflag);
- *reply =(char *)malloc(3);
*len = 3;
- memset(*reply,0,3);
-
-
- sprintf(*reply,"%d\n",mpp->prflag);
- (*reply)[2]='\0';
-
+ asprintf(reply, "%d\n", mpp->prflag);
condlog(3, "%s: reply = %s", param, *reply);
发件人: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
收件人: <peng.liang5@xxxxxxxxxx>, christophe varoqui <christophe.varoqui@xxxxxxx>,
抄送: <zhang.kai16@xxxxxxxxxx>, <dm-devel@xxxxxxxxxx>
日期: 2016/08/02 23:20
主题: Re: [dm-devel] [PATCH] multipathd: fix issue in 'map $map getprstatus' reply
On 08/01/2016 06:27 PM, peng.liang5@xxxxxxxxxx wrote:
> From: peng liang <peng.liang5@xxxxxxxxxx>
>
> add missing newline to 'map|multipath $map getprstatus' reply
>
> Signed-off-by: peng liang <peng.liang5@xxxxxxxxxx>
> ---
> multipathd/cli_handlers.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
> index 8ff4362..0b04504 100644
> --- a/multipathd/cli_handlers.c
> +++ b/multipathd/cli_handlers.c
> @@ -1285,13 +1285,13 @@ cli_getprstatus (void * v, char ** reply, int * len, void * data)
>
> condlog(3, "%s: prflag = %u", param, (unsigned int)mpp->prflag);
>
> - *reply =(char *)malloc(2);
> - *len = 2;
> - memset(*reply,0,2);
> + *reply =(char *)malloc(3);
> + *len = 3;
> + memset(*reply,0,3);
>
>
> - sprintf(*reply,"%d",mpp->prflag);
> - (*reply)[1]='\0';
> + sprintf(*reply,"%d\n",mpp->prflag);
> + (*reply)[2]='\0';
Hello Peng,
Please use asprintf() instead of malloc() + memset() + sprintf(). See
also https://www.gnu.org/software/libc/manual/html_node/Dynamic-Output.html
Thanks,
Bart.
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel