fix shifts possibly larger than type in major() macro
authorRich Felker <dalias@aerifal.cx>
Sat, 29 Jun 2013 17:57:13 +0000 (13:57 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 29 Jun 2013 17:57:13 +0000 (13:57 -0400)
commit9b732fe51b814468a08c84d13238b4c83a42451a
treeba7d4fed8688a352ffb8904b2493839dd7ca0578
parent780cbbe63ad9e60ef30dbcb2d74271e899dae245
fix shifts possibly larger than type in major() macro

in theory this should not be an issue, since major() should only be
applied to type dev_t, which is 64-bit. however, it appears some
applications are not using dev_t but a smaller integer type (which
works on Linux because the kernel's dev_t is really only 32-bit). to
avoid the undefined behavior, do it as two shifts.
include/sys/sysmacros.h