summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-06-22 21:49:23 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-06-22 21:49:23 (GMT)
commit1bbab712abcec12231619fb95a433b0c3617aa8b (patch)
tree66ff9794c42bf2e263f3595a823861561e2cf52b
parent41029ebf7da26377619540b37672a6c323d7fc2c (diff)
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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/wrapper.c b/scripts/wrapper.c
index 3d815b4..347695d 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;
}