@@ -94,6 +94,12 @@ static void failwith(const char *msg)
94
94
95
95
#define PATHSZ (PATH_MAX+1)
96
96
97
+ /* On Linux, sun_path size is 108 bytes.
98
+ On macOS it's 104.
99
+ We use 102 buffer, as we later append './'
100
+ */
101
+ #define SOCKSZ (102)
102
+
97
103
#define BEGIN_PROTECTCWD \
98
104
{ char previous_cwd[PATHSZ]; \
99
105
if (!getcwd(previous_cwd, PATHSZ)) previous_cwd[0] = '\0';
@@ -569,7 +575,7 @@ LPSTR retrieve_user_sid_string()
569
575
570
576
static void compute_socketname (char socketname [PATHSZ ], char eventname [PATHSZ ], const char merlin_path [PATHSZ ])
571
577
#else
572
- static void compute_socketname (char socketname [PATHSZ ], struct stat * st )
578
+ static void compute_socketname (char socketname [SOCKSZ ], struct stat * st )
573
579
#endif
574
580
{
575
581
#ifdef _WIN32
@@ -595,7 +601,7 @@ static void compute_socketname(char socketname[PATHSZ], struct stat *st)
595
601
596
602
LocalFree (user_sid_string );
597
603
#else
598
- snprintf (socketname , PATHSZ ,
604
+ snprintf (socketname , SOCKSZ ,
599
605
"ocamlmerlin_%llu_%llu_%llu.socket" ,
600
606
(unsigned long long )getuid (),
601
607
(unsigned long long )st -> st_dev ,
@@ -607,7 +613,7 @@ static void compute_socketname(char socketname[PATHSZ], struct stat *st)
607
613
608
614
static char
609
615
merlin_path [PATHSZ ] = "<not computed yet>" ,
610
- socketname [PATHSZ ] = "<not computed yet>" ,
616
+ socketname [SOCKSZ ] = "<not computed yet>" ,
611
617
eventname [PATHSZ ] = "<not computed yet>" ;
612
618
static unsigned char argbuffer [262144 ];
613
619
0 commit comments