library: Explicit about task ID string length
This removes the following error by stating the task ID can only be 10
characters wide, as it is an integer.
proc/readproc.c: In function ‘simple_nexttid’:
proc/readproc.c:1185:46: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 41 and 51 [-Wformat-truncation=]
   snprintf(path, PROCPATHLEN, "/proc/%d/task/%s", p->tgid, ent->d_name);
                                              ^~
proc/readproc.c:1185:3: note: ‘snprintf’ output between 14 and 279 bytes into a destination of size 64
   snprintf(path, PROCPATHLEN, "/proc/%d/task/%s", p->tgid, ent->d_name);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			
			
This commit is contained in:
		| @@ -1182,7 +1182,7 @@ static int simple_nexttid(PROCTAB *restrict const PT, const proc_t *restrict con | |||||||
|   t->tid = strtoul(ent->d_name, NULL, 10); |   t->tid = strtoul(ent->d_name, NULL, 10); | ||||||
|   t->tgid = p->tgid; |   t->tgid = p->tgid; | ||||||
| //t->ppid = p->ppid;  // cover for kernel behavior? we want both actually...? | //t->ppid = p->ppid;  // cover for kernel behavior? we want both actually...? | ||||||
|   snprintf(path, PROCPATHLEN, "/proc/%d/task/%s", p->tgid, ent->d_name); |   snprintf(path, PROCPATHLEN, "/proc/%d/task/%.10s", p->tgid, ent->d_name); | ||||||
|   return 1; |   return 1; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user