On 2016-12-14 at 22:59:25 +0100, Vadim Kochan <[email protected]> wrote:
[...]
> +int proc_find_by_inode(ino_t ino, char *cmdline, size_t len, pid_t *pid)
> +{
> + struct dirent *ent;
> + DIR *dir;
> +
> + if (ino <= 0) {
> + cmdline[0] = '\0';
> + return 0;
> + }
> +
> + dir = opendir("/proc");
> + if (!dir)
> + panic("Cannot open /proc: %s\n", strerror(errno));
> +
> + while ((ent = readdir(dir))) {
> + int ret;
> + char *end;
> + const char *name = ent->d_name;
> + pid_t _pid = strtoul(name, &end, 10);
> +
> + /* not a PID */
> + if (_pid == 0 && end == name)
> + continue;
> +
> + ret = __match_pid_by_inode(_pid, ino);
> + if (!ret) {
> + ret = proc_get_cmdline(_pid, cmdline, len);
> + if (ret < 0)
> + panic("Failed to get process cmdline: %s\n",
> strerror(errno));
> +
> + *pid = _pid;
closedir() is missing here.
> + return ret;
> + }
> + }
> +
> + closedir(dir);
> + return -1;
> +}
> +
> int proc_exec(const char *proc, char *const argv[])
> {
> int status;
--
You received this message because you are subscribed to the Google Groups
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.