@@ -104,6 +104,8 @@ root:x:0:0:root user:/root:/bin/bash
104104adm:x:42:43:adm:/var/adm:/bin/false
105105111:x:222:333::/var/garbage
106106odd:x:111:112::/home/odd:::::
107+ 2147483647:x:0:0:maxint32:/root:/bin/bash
108+ 2147483648:x:0:0:toolarge:/root:/bin/bash
107109user7456:x:7456:100:Vasya:/home/user7456
108110this is just some garbage data
109111`
@@ -113,6 +115,8 @@ adm:x:43:
113115grp:x:1234:root,adm,user7456
114116444:x:555:111
115117odd:x:444:
118+ 2147483647:x:1235:
119+ 2147483648:x:1236:
116120this is just some garbage data
117121` + largeGroup ()
118122
@@ -229,6 +233,33 @@ this is just some garbage data
229233 Home : "/home/user7456" ,
230234 },
231235 },
236+ {
237+ ref : "7456:2147483647" ,
238+ expected : ExecUser {
239+ Uid : 7456 ,
240+ Gid : 2147483647 , // maxID
241+ Sgids : defaultExecUser .Sgids ,
242+ Home : "/home/user7456" ,
243+ },
244+ },
245+ {
246+ ref : "2147483647:43" ,
247+ expected : ExecUser {
248+ Uid : 2147483647 , // maxID
249+ Gid : 43 ,
250+ Sgids : defaultExecUser .Sgids ,
251+ Home : defaultExecUser .Home ,
252+ },
253+ },
254+ {
255+ ref : "2147483647" ,
256+ expected : ExecUser {
257+ Uid : 2147483647 , // maxID
258+ Gid : defaultExecUser .Gid ,
259+ Sgids : defaultExecUser .Sgids ,
260+ Home : defaultExecUser .Home ,
261+ },
262+ },
232263 }
233264
234265 for _ , test := range tests {
@@ -257,12 +288,16 @@ func TestInvalidGetExecUser(t *testing.T) {
257288root:x:0:0:root user:/root:/bin/bash
258289adm:x:42:43:adm:/var/adm:/bin/false
259290-42:x:12:13:broken:/very/broken
291+ 2147483647:x:0:0:maxint32:/root:/bin/bash
292+ 2147483648:x:0:0:toolarge:/root:/bin/bash
260293this is just some garbage data
261294`
262295 const groupContent = `
263296root:x:0:root
264297adm:x:43:
265298grp:x:1234:root,adm
299+ 2147483647:x:1235:
300+ 2147483648:x:1236:
266301this is just some garbage data
267302`
268303
@@ -281,6 +316,9 @@ this is just some garbage data
281316 "-5:-2" ,
282317 "-42" ,
283318 "-43" ,
319+ "42:2147483648" , // maxID + 1
320+ "2147483648:43" , // maxID + 1
321+ "2147483648" , // maxID + 1
284322 }
285323
286324 for _ , test := range tests {
0 commit comments