projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
63f0ec1
)
Fix rare SEGV in unix_addrstr with bad reference of UNIX socket path.
author
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 16 Sep 2003 20:48:28 +0000
(20:48 +0000)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 16 Sep 2003 20:48:28 +0000
(20:48 +0000)
comstack/unix.c
patch
|
blob
|
history
diff --git
a/comstack/unix.c
b/comstack/unix.c
index
22087ea
..
23c60ab
100644
(file)
--- a/
comstack/unix.c
+++ b/
comstack/unix.c
@@
-2,7
+2,7
@@
* Copyright (c) 1995-2003, Index Data
* See the file LICENSE for details.
*
* Copyright (c) 1995-2003, Index Data
* See the file LICENSE for details.
*
- * $Id: unix.c,v 1.12 2003-05-14 13:49:02 adam Exp $
+ * $Id: unix.c,v 1.13 2003-09-16 20:48:28 adam Exp $
* UNIX socket COMSTACK. By Morten Bøgeskov.
*/
#ifndef WIN32
* UNIX socket COMSTACK. By Morten Bøgeskov.
*/
#ifndef WIN32
@@
-308,7
+308,7
@@
static int unix_listen(COMSTACK h, char *raddr, int *addrlen,
void *cd)
{
struct sockaddr_un addr;
void *cd)
{
struct sockaddr_un addr;
- YAZ_SOCKLEN_T len = SUN_LEN(&addr);
+ YAZ_SOCKLEN_T len = sizeof(addr);
TRC(fprintf(stderr, "unix_listen pid=%d\n", getpid()));
if (h->state != CS_ST_IDLE)
TRC(fprintf(stderr, "unix_listen pid=%d\n", getpid()));
if (h->state != CS_ST_IDLE)
@@
-388,6
+388,7
@@
static COMSTACK unix_accept(COMSTACK h)
state->altsize = state->altlen = 0;
state->towrite = state->written = -1;
state->complete = st->complete;
state->altsize = state->altlen = 0;
state->towrite = state->written = -1;
state->complete = st->complete;
+ memcpy(&state->addr, &st->addr, sizeof(state->addr));
cnew->state = CS_ST_ACCEPT;
cnew->event = CS_NONE;
h->state = CS_ST_IDLE;
cnew->state = CS_ST_ACCEPT;
cnew->event = CS_NONE;
h->state = CS_ST_IDLE;