Skip to content

Commit db1fdcc

Browse files
committed
Merged pull request #1050
* pr/1050: Fixed control socket name by removing silly trailing things (by not passing it to bind)
2 parents 5391d8b + 63b035d commit db1fdcc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/base/ctrl_socket.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ void xdebug_control_socket_dispatch(void)
410410
void xdebug_control_socket_setup(void)
411411
{
412412
struct sockaddr_un *servaddr = NULL;
413+
socklen_t addr_len = 0;
413414

414415
/* Initialise control socket globals */
415416
XG_BASE(control_socket_fd) = -1;
@@ -435,13 +436,12 @@ void xdebug_control_socket_setup(void)
435436
return;
436437
}
437438

438-
memset(servaddr, 'x', sizeof(struct sockaddr_un));
439439
servaddr->sun_family = AF_UNIX;
440440
snprintf(servaddr->sun_path + 1, strlen(XG_BASE(control_socket_path)) + 1, "%s", XG_BASE(control_socket_path));
441+
addr_len = offsetof(struct sockaddr_un, sun_path) + strlen(XG_BASE(control_socket_path));
441442
servaddr->sun_path[0] = '\0';
442-
servaddr->sun_path[strlen(XG_BASE(control_socket_path)) + 1] = 'y';
443443

444-
if (0 != (bind(XG_BASE(control_socket_fd), (struct sockaddr *)servaddr, sizeof(struct sockaddr_un)))) {
444+
if (0 != (bind(XG_BASE(control_socket_fd), (struct sockaddr *)servaddr, addr_len))) {
445445
xdebug_log_ex(XLOG_CHAN_CONFIG, XLOG_WARN, "CTRL-BIND", "Can't bind control socket");
446446
xdfree(servaddr);
447447
xdfree(XG_BASE(control_socket_path));

0 commit comments

Comments
 (0)