mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
We need to read the cookie in binary mode for things to work correctly.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@825 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
1438bd49dc
commit
27cee2ef52
1 changed files with 7 additions and 2 deletions
|
|
@ -59,6 +59,10 @@ static int generate(int fd, void *ret_data, size_t length) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef O_BINARY
|
||||||
|
#define O_BINARY 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Load an euthorization cookie from file fn and store it in data. If
|
/* Load an euthorization cookie from file fn and store it in data. If
|
||||||
* the cookie file doesn't exist, create it */
|
* the cookie file doesn't exist, create it */
|
||||||
static int load(const char *fn, void *data, size_t length) {
|
static int load(const char *fn, void *data, size_t length) {
|
||||||
|
|
@ -68,8 +72,8 @@ static int load(const char *fn, void *data, size_t length) {
|
||||||
ssize_t r;
|
ssize_t r;
|
||||||
assert(fn && data && length);
|
assert(fn && data && length);
|
||||||
|
|
||||||
if ((fd = open(fn, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR)) < 0) {
|
if ((fd = open(fn, O_RDWR|O_CREAT|O_BINARY, S_IRUSR|S_IWUSR)) < 0) {
|
||||||
if (errno != EACCES || (fd = open(fn, O_RDONLY)) < 0) {
|
if (errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY)) < 0) {
|
||||||
pa_log(__FILE__": failed to open cookie file '%s': %s", fn, strerror(errno));
|
pa_log(__FILE__": failed to open cookie file '%s': %s", fn, strerror(errno));
|
||||||
goto finish;
|
goto finish;
|
||||||
} else
|
} else
|
||||||
|
|
@ -84,6 +88,7 @@ static int load(const char *fn, void *data, size_t length) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((size_t) r != length) {
|
if ((size_t) r != length) {
|
||||||
|
pa_log_debug(__FILE__": got %d bytes from cookie file '%s', expected %d", (int)r, fn, (int)length);
|
||||||
|
|
||||||
if (!writable) {
|
if (!writable) {
|
||||||
pa_log(__FILE__": unable to write cookie to read only file");
|
pa_log(__FILE__": unable to write cookie to read only file");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue