Skip to content

Commit 62f9986

Browse files
glk0lneto
authored andcommitted
fix: replace sockaddr with sock_addr_unsized in linux v6.18
1 parent 7632e05 commit 62f9986

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

lib/luasocket.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,11 @@ static int luasocket_bind(lua_State *L)
251251
struct socket *socket = luasocket_check(L, 1);
252252
struct sockaddr_storage addr;
253253
size_t size = luasocket_checkaddr(L, socket, &addr, 2);
254+
#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 18, 0))
254255
lunatik_try(L, kernel_bind, socket, (struct sockaddr *)&addr, size);
256+
#else
257+
lunatik_try(L, kernel_bind, socket, (struct sockaddr_unsized *)&addr, size);
258+
#endif
255259
return 0;
256260
}
257261

@@ -304,7 +308,12 @@ static int luasocket_connect(lua_State *L)
304308
int nargs = lua_gettop(L);
305309
size_t size = luasocket_checkaddr(L, socket, &addr, 2);
306310
int flags = luaL_optinteger(L, nargs >= 4 ? 4 : 3, 0);
311+
312+
#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 18, 0))
307313
lunatik_try(L, kernel_connect, socket, (struct sockaddr *)&addr, size, flags);
314+
#else
315+
lunatik_try(L, kernel_connect, socket, (struct sockaddr_unsized *)&addr, size, flags);
316+
#endif
308317
return 0;
309318
}
310319

0 commit comments

Comments
 (0)