summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGisle Aas <gisle@activestate.com>2006-01-13 12:10:28 +0000
committerGisle Aas <gisle@activestate.com>2006-01-13 12:10:28 +0000
commit301eb2f051a3a075202dfcd6dec00cccb7565496 (patch)
tree25dadaa7837591c2700a1e9361619d0502d32650
parent86f9b3f5301683c929b08a4c5aeebe5c4bab44d0 (diff)
downloadperl-301eb2f051a3a075202dfcd6dec00cccb7565496.tar.gz
Fix [perl #38223]; _IOC_SIZE() not always safe.
p4raw-id: //depot/perl@26815
-rw-r--r--perl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/perl.h b/perl.h
index 5d2d9b6bb4..fb0f1e9d74 100644
--- a/perl.h
+++ b/perl.h
@@ -2977,8 +2977,8 @@ typedef pthread_key_t perl_key;
# define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
# else
# if defined(_IOC_SIZE) && defined(__GLIBC__)
- /* on Linux systems we're safe */
-# define IOCPARM_LEN(x) _IOC_SIZE(x)
+ /* on Linux systems we're safe; except when we're not [perl #38223] */
+# define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x))
# else
/* otherwise guess at what's safe */
# define IOCPARM_LEN(x) 256