Fix sr_EQ() comparison on Solaris syscall failure

On rare occasions, garbage is found in sr1._val2
while sr2._val2 contains 0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16252
This commit is contained in:
Ivo Raisr 2017-02-20 08:07:21 +00:00
parent d7ccda99e6
commit 39dcf62ccd
2 changed files with 3 additions and 3 deletions

View File

@ -1168,7 +1168,7 @@ const HChar *VG_(sr_as_string) ( SysRes sr )
return buf;
}
#elif defined(VGO_darwin) || (VGO_solaris)
#elif defined(VGO_darwin) || defined(VGO_solaris)
const HChar *VG_(sr_as_string) ( SysRes sr )
{

View File

@ -359,8 +359,8 @@ static inline UWord sr_Err ( SysRes sr ) {
static inline Bool sr_EQ ( UInt sysno, SysRes sr1, SysRes sr2 ) {
/* sysno is ignored for Solaris */
return sr1._val == sr2._val
&& sr1._val2 == sr2._val2
&& sr1._isError == sr2._isError;
&& sr1._isError == sr2._isError
&& (!sr1._isError) ? (sr1._val2 == sr2._val2) : True;
}
#else