From: Vincenzo Frascino <vincenzo.frasc...@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.frasc...@arm.com>
Reviewed-by: Steve Capper <steve.cap...@arm.com>
Signed-off-by: Steve Capper <steve.cap...@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

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to