File tree Expand file tree Collapse file tree 1 file changed +4
-7
lines changed
Expand file tree Collapse file tree 1 file changed +4
-7
lines changed Original file line number Diff line number Diff line change @@ -227,12 +227,9 @@ func getArgvFromPid(pid int) ([]string, error) {
227227 errStr := unix .ErrnoName (errno )
228228 return []string {"" }, fmt .Errorf ("%s" , errStr )
229229 }
230- buffer := bytes .NewBuffer (processArgs )
231- numberOfArgs , err := binary .ReadUvarint (buffer )
232- if err != nil {
233- return []string {"" }, err
234- }
235- buffer .Next (3 ) // skip sizeof(int32), the number of args
230+ buffer := bytes .NewBuffer (processArgs [0 :size ])
231+ numberOfArgsBytes := buffer .Next (4 )
232+ numberOfArgs := binary .LittleEndian .Uint32 (numberOfArgsBytes )
236233 argv := make ([]string , numberOfArgs + 1 ) // executable name is present twice
237234
238235 // There's probably a way to optimize that loop.
@@ -248,7 +245,7 @@ func getArgvFromPid(pid int) ([]string, error) {
248245 for {
249246 arg , err := buffer .ReadString (0x00 )
250247 if err != nil {
251- continue
248+ break
252249 }
253250 if strings .ReplaceAll (arg , "\x00 " , "" ) != "" {
254251 argv [i ] = arg
You can’t perform that action at this time.
0 commit comments