summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHank Leininger <hlein@korelogic.com>2016-02-26 20:23:03 -0500
committerStephan Bergmann <sbergman@redhat.com>2016-03-09 10:48:35 +0000
commit39c3b7e39f76a2aacf4c1b659f98c0fe897dc396 (patch)
tree9739c56666a0dfa2686c768f79e5a2394f2884ad
parent235bed86a689b6b64ba2b407ad324ca366121ea0 (diff)
tdf#98210 do not require R_OK for pipe dir
Also better error handling if pipe dirs are really not usable. Change-Id: I1c865b9a9f1f08d2cffd07343494feca585ec75e Reviewed-on: https://gerrit.libreoffice.org/22727 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> (cherry picked from commit 87c011134031374cf9104ec2fc39ef121d8a6802) Reviewed-on: https://gerrit.libreoffice.org/22829 Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--desktop/unx/source/start.c9
-rw-r--r--sal/osl/unx/pipe.cxx4
2 files changed, 9 insertions, 4 deletions
diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index 525fe22927e0..b072f0f01c25 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -323,10 +323,15 @@ get_pipe_path( rtl_uString *pAppPath )
if ( !pMd5hash )
rtl_uString_new( &pMd5hash );
- if ( access( PIPEDEFAULTPATH, R_OK|W_OK ) == 0 )
+ if ( access( PIPEDEFAULTPATH, W_OK ) == 0 )
rtl_uString_newFromAscii( &pResult, PIPEDEFAULTPATH );
- else
+ else if ( access( PIPEALTERNATEPATH, W_OK ) == 0 )
rtl_uString_newFromAscii( &pResult, PIPEALTERNATEPATH );
+ else
+ {
+ fprintf( stderr, "ERROR: no valid pipe path found.\n" );
+ exit( 1 );
+ }
rtl_uString_newFromAscii( &pTmp, "/OSL_PIPE_" );
rtl_uString_newConcat( &pResult, pResult, pTmp );
diff --git a/sal/osl/unx/pipe.cxx b/sal/osl/unx/pipe.cxx
index b598ddc1f727..1295ecffd53a 100644
--- a/sal/osl/unx/pipe.cxx
+++ b/sal/osl/unx/pipe.cxx
@@ -166,11 +166,11 @@ oslPipe SAL_CALL osl_psz_createPipe(const sal_Char *pszPipeName, oslPipeOptions
bool bNameTooLong = false;
oslPipe pPipe;
- if (access(PIPEDEFAULTPATH, R_OK|W_OK) == 0)
+ if (access(PIPEDEFAULTPATH, W_OK) == 0)
{
strncpy(name, PIPEDEFAULTPATH, sizeof(name));
}
- else if (access(PIPEALTERNATEPATH, R_OK|W_OK) == 0)
+ else if (access(PIPEALTERNATEPATH, W_OK) == 0)
{
strncpy(name, PIPEALTERNATEPATH, sizeof(name));
}