diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2010-06-22 23:49:23 +0200 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2010-06-22 23:49:23 +0200 |
commit | 1bbab712abcec12231619fb95a433b0c3617aa8b (patch) | |
tree | 66ff9794c42bf2e263f3595a823861561e2cf52b | |
parent | 41029ebf7da26377619540b37672a6c323d7fc2c (diff) | |
download | crosstool-ng-1bbab712abcec12231619fb95a433b0c3617aa8b.tar.gz crosstool-ng-1bbab712abcec12231619fb95a433b0c3617aa8b.tar.bz2 crosstool-ng-1bbab712abcec12231619fb95a433b0c3617aa8b.zip |
scripts/wrapper: fix wrong test when checking access to the reall tool
In C, the proper syntax for a bit-wise OR is a single '|', not two.
It worked so far because all was well:
- X_OK == 1
- R_OK||X_OK == 1
- the file we searched for had the x-bit set
-> access( file, R_OK||X_OK ) worked
- inicidentally, the file we searched for also had the r-bit set,
but we were not testing that in fact.
(transplanted from eebcaff6626f09af4f69b7b06f1246a06769d0af)
-rw-r--r-- | scripts/wrapper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/wrapper.c b/scripts/wrapper.c index 3d815b43..347695df 100644 --- a/scripts/wrapper.c +++ b/scripts/wrapper.c @@ -66,7 +66,7 @@ int main( int argc, if( stat( testname, &st ) == 0 ) { /* OK, exists. Is it a regular file, or a * symlink, which the current user may execute? */ - if( S_ISREG( st.st_mode ) && ! access( testname, X_OK || R_OK ) ) { + if( S_ISREG( st.st_mode ) && ! access( testname, X_OK | R_OK ) ) { fullname = strdup( testname ); break; } |