On Thursday 2022-12-22 23:03, Dominique Martinet wrote: >> + >> +Note that \fIcomm\fP can contain space and closing parenthesis characters. >> +Parsing /proc/${pid}/stat with split() or equivalent, or scanf(3) isn't >> +reliable. The correct way is to locate closing parenthesis with strrchr(')') >> +from the end of the buffer and parse integers from there. > >That's still not enough unless new lines are escaped, which they aren't: strrchr does not concern itself with "lines". If your input buffer contains the complete content of /proc/X/stat (and not just a "line" thereof), the strrchr approach appears quite workable.