summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAnastasia Klimchuk <aklm@chromium.org>2023-04-04 19:21:01 +1000
committerAnastasia Klimchuk <aklm@chromium.org>2023-04-24 03:36:20 +0000
commit590a621e164a09b9a435e12ef14800f55cf4805e (patch)
tree3115bee3f8f1b1ca40e50f29511dca366c25be89 /tests
parentba18f3e58e6ddd9711e96e1b2b9f5f2337bae1df (diff)
downloadflashrom-590a621e164a09b9a435e12ef14800f55cf4805e.tar.gz
flashrom-590a621e164a09b9a435e12ef14800f55cf4805e.tar.bz2
flashrom-590a621e164a09b9a435e12ef14800f55cf4805e.zip
tests: Fix mode_t argument conversion for va_arg
Patch fixes the error: error: second argument to 'va_arg' is of promotable type 'mode_t' (aka 'unsigned short'); this va_arg has undefined behavior because arguments will be promoted to 'int' [-Werror,-Wvarargs] Discovered and tested on: FreeBSD clang version 13.0.0 gcc 8.3.0 "cc 8.3 [DragonFly] Release/2019-02-22" Also tested on: gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0" Change-Id: I95b7c8dafdf4e7664c48a952acd7f8eaedb59ba7 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/74202 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Thomas Heijligen <src@posteo.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/tests/tests.c b/tests/tests.c
index d296a9832..159b79f43 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -101,40 +101,40 @@ static int mock_open(const char *pathname, int flags, mode_t mode)
int __wrap_open(const char *pathname, int flags, ...)
{
LOG_ME;
- mode_t mode = 0;
+ int mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
- mode = va_arg(ap, mode_t);
+ mode = va_arg(ap, int);
va_end(ap);
}
- return mock_open(pathname, flags, mode);
+ return mock_open(pathname, flags, (mode_t) mode);
}
int __wrap_open64(const char *pathname, int flags, ...)
{
LOG_ME;
- mode_t mode = 0;
+ int mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
- mode = va_arg(ap, mode_t);
+ mode = va_arg(ap, int);
va_end(ap);
}
- return mock_open(pathname, flags, mode);
+ return mock_open(pathname, flags, (mode_t) mode);
}
int __wrap___open64_2(const char *pathname, int flags, ...)
{
LOG_ME;
- mode_t mode = 0;
+ int mode = 0;
if (flags & O_CREAT) {
va_list ap;
va_start(ap, flags);
- mode = va_arg(ap, mode_t);
+ mode = va_arg(ap, int);
va_end(ap);
}
- return mock_open(pathname, flags, mode);
+ return mock_open(pathname, flags, (mode_t) mode);
}
int __wrap_ioctl(int fd, unsigned long int request, ...)