blob: 144314c4095349dcdd7cce75eb3931a4171a7b07 [file] [log] [blame]
Andrew Geissler78b72792022-06-14 06:47:25 -05001From dab02796780f00d689cc1c7a0ba81abe7c5f28d0 Mon Sep 17 00:00:00 2001
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00002From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 21 Jan 2022 15:15:11 -0800
Andrew Geisslerd5838332022-05-27 11:33:10 -05004Subject: [PATCH] pass correct parameters to getdents64
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00005
6Fixes
7../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
8 n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
9 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10
11../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
12 n = getdents64(fd, &buffer, sizeof(buffer));
13 ^~~~~~~
14
Andrew Geissler78b72792022-06-14 06:47:25 -050015Upstream-Status: Inappropriate [musl specific]
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000016Signed-off-by: Khem Raj <raj.khem@gmail.com>
Andrew Geissler78b72792022-06-14 06:47:25 -050017Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Andrew Geissler615f2f12022-07-15 14:00:58 -050018
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000019---
20 src/basic/recurse-dir.c | 2 +-
Andrew Geissler615f2f12022-07-15 14:00:58 -050021 1 file changed, 1 insertion(+), 1 deletion(-)
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000022
23diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
Andrew Geissler78b72792022-06-14 06:47:25 -050024index efa1797b7b..03ff10ebe9 100644
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000025--- a/src/basic/recurse-dir.c
26+++ b/src/basic/recurse-dir.c
27@@ -54,7 +54,7 @@ int readdir_all(int dir_fd,
28 bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX);
29 assert(bs > de->buffer_size);
30
31- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
Andrew Geissler78b72792022-06-14 06:47:25 -050032+ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size);
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000033 if (n < 0)
34 return -errno;
35 if (n == 0)