Messages in this thread | | | Date | Fri, 2 Jun 2023 11:52:42 -0700 | Subject | Re: [PATCH 04/12] selftests/mm: fix a char* assignment in mlock2-tests.c | From | John Hubbard <> |
| |
On 6/2/23 08:24, Peter Xu wrote: > On Fri, Jun 02, 2023 at 12:04:57PM +0200, David Hildenbrand wrote: >> On 02.06.23 03:33, John Hubbard wrote: >>> The stop variable is a char*, so use "\0" when assigning to it, rather >>> than attempting to assign a character type. This was generating a >>> warning when compiling with clang. >>> >>> Signed-off-by: John Hubbard <jhubbard@nvidia.com> >>> --- >>> tools/testing/selftests/mm/mlock2-tests.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/tools/testing/selftests/mm/mlock2-tests.c b/tools/testing/selftests/mm/mlock2-tests.c >>> index 11b2301f3aa3..8ee95077dc25 100644 >>> --- a/tools/testing/selftests/mm/mlock2-tests.c >>> +++ b/tools/testing/selftests/mm/mlock2-tests.c >>> @@ -50,7 +50,7 @@ static int get_vm_area(unsigned long addr, struct vm_boundaries *area) >>> printf("cannot parse /proc/self/maps\n"); >>> goto out; >>> } >>> - stop = '\0'; >>> + stop = "\0"; >>> sscanf(line, "%lx", &start); >>> sscanf(end_addr, "%lx", &end); >> >> >> I'm probably missing something, but what is the stop variable supposed to do >> here? It's completely unused, no? >> >> if (!strchr(end_addr, ' ')) { >> printf("cannot parse /proc/self/maps\n"); >> goto out; >> }
Yes it is! I certainly had tunnel vision on that one. I've changed the patch to simply delete that line, for v2, thanks.
> > I guess it wanted to do "*stop = '\0'" but it just didn't matter a lot > since the sscanf() just worked.. >
Maybe, yes. Hard to tell the original intent at this point...it might have been used in an early draft version of the loop that didn't get posted, perhaps. thanks, -- John Hubbard NVIDIA
| |