All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'
@ 2020-10-15 14:30 ` Fedor Tokarev
  0 siblings, 0 replies; 5+ messages in thread
From: Fedor Tokarev @ 2020-10-15 14:30 UTC (permalink / raw)
  To: rostedt, acme; +Cc: linux-kernel, kernel-janitors, ftokarev

'snprintf' returns the number of characters which would have been written
if enough space had been available, excluding the terminating null byte.
Thus, the return value of 'buflen' means that the last character
was dropped.

Signed-off-by: Fedor Tokarev <ftokarev@gmail.com>
---
 tools/lib/traceevent/parse-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
index c271aee..dccdbf2 100644
--- a/tools/lib/traceevent/parse-filter.c
+++ b/tools/lib/traceevent/parse-filter.c
@@ -1374,7 +1374,7 @@ int tep_filter_strerror(struct tep_event_filter *filter, enum tep_errno err,
 	if (strlen(filter->error_buffer) > 0) {
 		size_t len = snprintf(buf, buflen, "%s", filter->error_buffer);
 
-		if (len > buflen)
+		if (len >= buflen)
 			return -1;
 		return 0;
 	}
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'
@ 2020-10-15 14:30 ` Fedor Tokarev
  0 siblings, 0 replies; 5+ messages in thread
From: Fedor Tokarev @ 2020-10-15 14:30 UTC (permalink / raw)
  To: rostedt, acme; +Cc: linux-kernel, kernel-janitors, ftokarev

'snprintf' returns the number of characters which would have been written
if enough space had been available, excluding the terminating null byte.
Thus, the return value of 'buflen' means that the last character
was dropped.

Signed-off-by: Fedor Tokarev <ftokarev@gmail.com>
---
 tools/lib/traceevent/parse-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
index c271aee..dccdbf2 100644
--- a/tools/lib/traceevent/parse-filter.c
+++ b/tools/lib/traceevent/parse-filter.c
@@ -1374,7 +1374,7 @@ int tep_filter_strerror(struct tep_event_filter *filter, enum tep_errno err,
 	if (strlen(filter->error_buffer) > 0) {
 		size_t len = snprintf(buf, buflen, "%s", filter->error_buffer);
 
-		if (len > buflen)
+		if (len >= buflen)
 			return -1;
 		return 0;
 	}
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* AW: [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'
  2020-10-15 14:30 ` Fedor Tokarev
  (?)
@ 2020-10-15 15:12 ` Walter Harms
  2020-10-15 15:18     ` Steven Rostedt
  -1 siblings, 1 reply; 5+ messages in thread
From: Walter Harms @ 2020-10-15 15:12 UTC (permalink / raw)
  To: Fedor Tokarev, rostedt, acme; +Cc: linux-kernel, kernel-janitors

i guess the whole thing can be made more simple 

we have len and buflen

len=strlen(filter->error_buffer);
if (len >= buflen )
  return -1;

strcpy(buf, filter->error_buffer);

jm2c,


________________________________________
Von: Fedor Tokarev [ftokarev@gmail.com]
Gesendet: Donnerstag, 15. Oktober 2020 16:30
An: rostedt@goodmis.org; acme@redhat.com
Cc: linux-kernel@vger.kernel.org; kernel-janitors@vger.kernel.org; ftokarev@gmail.com
Betreff: [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'

'snprintf' returns the number of characters which would have been written
if enough space had been available, excluding the terminating null byte.
Thus, the return value of 'buflen' means that the last character
was dropped.

Signed-off-by: Fedor Tokarev <ftokarev@gmail.com>
---
 tools/lib/traceevent/parse-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
index c271aee..dccdbf2 100644
--- a/tools/lib/traceevent/parse-filter.c
+++ b/tools/lib/traceevent/parse-filter.c
@@ -1374,7 +1374,7 @@ int tep_filter_strerror(struct tep_event_filter *filter, enum tep_errno err,
        if (strlen(filter->error_buffer) > 0) {
                size_t len = snprintf(buf, buflen, "%s", filter->error_buffer);

-               if (len > buflen)
+               if (len >= buflen)
                        return -1;
                return 0;
        }
--
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'
  2020-10-15 15:12 ` AW: " Walter Harms
@ 2020-10-15 15:18     ` Steven Rostedt
  0 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2020-10-15 15:18 UTC (permalink / raw)
  To: Walter Harms; +Cc: Fedor Tokarev, acme, linux-kernel, kernel-janitors

On Thu, 15 Oct 2020 15:12:53 +0000
Walter Harms <wharms@bfs.de> wrote:

> i guess the whole thing can be made more simple 
> 
> we have len and buflen
> 
> len=strlen(filter->error_buffer);
> if (len >= buflen )
>   return -1;
> 
> strcpy(buf, filter->error_buffer);
>

Either is fine, but we are moving libtraceevent into it's own library,
which is located here:

  https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/

-- Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror'
@ 2020-10-15 15:18     ` Steven Rostedt
  0 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2020-10-15 15:18 UTC (permalink / raw)
  To: Walter Harms; +Cc: Fedor Tokarev, acme, linux-kernel, kernel-janitors

On Thu, 15 Oct 2020 15:12:53 +0000
Walter Harms <wharms@bfs.de> wrote:

> i guess the whole thing can be made more simple 
> 
> we have len and buflen
> 
> len=strlen(filter->error_buffer);
> if (len >= buflen )
>   return -1;
> 
> strcpy(buf, filter->error_buffer);
>

Either is fine, but we are moving libtraceevent into it's own library,
which is located here:

  https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/

-- Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-15 15:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-15 14:30 [PATCH] tools: net: traceevent: Fix 'snprintf' return value check in 'tep_filter_strerror' Fedor Tokarev
2020-10-15 14:30 ` Fedor Tokarev
2020-10-15 15:12 ` AW: " Walter Harms
2020-10-15 15:18   ` Steven Rostedt
2020-10-15 15:18     ` Steven Rostedt

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.