From: Eli Zaretskii Date: Tue, 20 Feb 2018 03:58:58 +0000 (+0200) Subject: Add assertion to guard 'read' calls on MS-Windows X-Git-Tag: emacs-27.0.90~5659 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3d42272754db914d4f2dbbcfba5ce6776a7b232b;p=emacs.git Add assertion to guard 'read' calls on MS-Windows * src/sysdep.c (emacs_intr_read): Assert that NBYTES never overflows a 32-bit int. --- diff --git a/src/sysdep.c b/src/sysdep.c index bc34d8dc059..08db376b261 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -2566,6 +2566,14 @@ emacs_intr_read (int fd, void *buf, ptrdiff_t nbyte, bool interruptible) /* There is no need to check against MAX_RW_COUNT, since no caller ever passes a size that large to emacs_read. */ +#ifdef WINDOWSNT + /* On MS-Windows, 'read's last argument is declared as 'unsigned + int', and the return value's type (see 'sys_read') is 'int'. + This might cause trouble, especially in 64-bit builds, if the + above comment ever becomes incorrect. The following assertion + should make us more future-proof. */ + eassert (nbyte <= INT_MAX); +#endif do { if (interruptible)