[PATCH 5/9] console-tools: Replace ptrdiff_t with intptr_t in xioclt()
Steve Capper
steve.capper at arm.com
Mon Apr 4 10:49:58 UTC 2022
From: Vincenzo Frascino <vincenzo.frascino at arm.com>
The use of ptrdiff_t can trigger a warning because a successive cast to
void * can generate a pointer that cannot be dereferenced.
Replace it with intptr_t that does not require provenance since being an
integer is always valid.
Signed-off-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
Reviewed-by: Steve Capper <steve.capper at arm.com>
Signed-off-by: Steve Capper <steve.capper at arm.com>
---
console-tools/deallocvt.c | 2 +-
console-tools/kbd_mode.c | 2 +-
console-tools/openvt.c | 2 +-
console-tools/showkey.c | 4 ++--
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c
index 6cd54653c..0854cb58c 100644
--- a/console-tools/deallocvt.c
+++ b/console-tools/deallocvt.c
@@ -40,6 +40,6 @@ int deallocvt_main(int argc UNUSED_PARAM, char **argv)
}
/* double cast suppresses "cast to ptr from int of different size" */
- xioctl(get_console_fd_or_die(), VT_DISALLOCATE, (void *)(ptrdiff_t)num);
+ xioctl(get_console_fd_or_die(), VT_DISALLOCATE, (void *)(intptr_t)num);
return EXIT_SUCCESS;
}
diff --git a/console-tools/kbd_mode.c b/console-tools/kbd_mode.c
index b0b963ee0..6409d8c30 100644
--- a/console-tools/kbd_mode.c
+++ b/console-tools/kbd_mode.c
@@ -85,7 +85,7 @@ int kbd_mode_main(int argc UNUSED_PARAM, char **argv)
*/
opt = opt & UNICODE ? 3 : opt >> 1;
/* double cast prevents warnings about widening conversion */
- xioctl(fd, KDSKBMODE, (void*)(ptrdiff_t)opt);
+ xioctl(fd, KDSKBMODE, (void*)(intptr_t)opt);
}
if (ENABLE_FEATURE_CLEAN_UP)
diff --git a/console-tools/openvt.c b/console-tools/openvt.c
index db2f073b2..b2a5f2a8f 100644
--- a/console-tools/openvt.c
+++ b/console-tools/openvt.c
@@ -191,7 +191,7 @@ int openvt_main(int argc UNUSED_PARAM, char **argv)
// Compat: even with -c N (try to) disallocate:
// # /usr/app/kbd-1.12/bin/openvt -f -c 9 -ws sleep 5
// openvt: could not deallocate console 9
- xioctl(STDIN_FILENO, VT_DISALLOCATE, (void*)(ptrdiff_t)vtno);
+ xioctl(STDIN_FILENO, VT_DISALLOCATE, (void*)(intptr_t)vtno);
}
}
return EXIT_SUCCESS;
diff --git a/console-tools/showkey.c b/console-tools/showkey.c
index 84eb38a0a..786f943ba 100644
--- a/console-tools/showkey.c
+++ b/console-tools/showkey.c
@@ -103,7 +103,7 @@ int showkey_main(int argc UNUSED_PARAM, char **argv)
);
// set raw keyboard mode
- xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW));
+ xioctl(STDIN_FILENO, KDSKBMODE, (void *)(intptr_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW));
// we should exit on any signal; signals should interrupt read
bb_signals_norestart(BB_FATAL_SIGS, record_signo);
@@ -148,7 +148,7 @@ int showkey_main(int argc UNUSED_PARAM, char **argv)
}
// restore keyboard mode
- xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
+ xioctl(STDIN_FILENO, KDSKBMODE, (void *)(intptr_t)kbmode);
}
// restore console settings
--
2.35.1
More information about the busybox
mailing list