]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
src/locktest: add missing struct cast with syscall getsockname()
authorLuis Henriques <luis@igalia.com>
Tue, 4 Mar 2025 12:21:19 +0000 (12:21 +0000)
committerZorro Lang <zlang@kernel.org>
Mon, 10 Mar 2025 06:54:05 +0000 (14:54 +0800)
The usage of variable 'myAddr' (struct sockaddr_in) is being casted into a
'struct sockaddr' when used with bind() and with connect().  This patch
adds that cast when used with getsockname() as well, otherwise we'll get the
following error:

locktest.c: In function 'main':
locktest.c:1155:39: error: passing argument 2 of 'getsockname' from incompatible pointer type [-Wincompatible-pointer-types]
 1155 |                 if (getsockname(s_fd, &myAddr, &addr_len)) {
      |                                       ^~~~~~~
      |                                       |
      |                                       struct sockaddr_in *
In file included from /usr/include/fortify/sys/socket.h:23,
                 from locktest.c:19:
/usr/include/sys/socket.h:391:23: note: expected 'struct sockaddr * restrict' but argument is of type 'struct sockaddr_in *'
  391 | int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict);
      |                       ^

Signed-off-by: Luis Henriques <luis@igalia.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
src/locktest.c

index 0e7c3008d1d03e2e4a2031a92f25cd59709505d5..a6cf3b1d5a99dc2cf78f7ceb79622e1ab135c42c 100644 (file)
@@ -1152,7 +1152,7 @@ main(int argc, char *argv[])
        if (port == 0) {
                socklen_t addr_len = sizeof(myAddr);
 
-               if (getsockname(s_fd, &myAddr, &addr_len)) {
+               if (getsockname(s_fd, (struct sockaddr *)&myAddr, &addr_len)) {
                    perror("getsockname");
                    exit(1);
                }