Page MenuHomeFreeBSD

D9887.id26013.diff
No OneTemporary

D9887.id26013.diff

Index: bin/kill/kill.c
===================================================================
--- bin/kill/kill.c
+++ bin/kill/kill.c
@@ -66,7 +66,9 @@
int
main(int argc, char *argv[])
{
- int errors, numsig, pid, ret;
+ long pidl;
+ pid_t pid;
+ int errors, numsig, ret;
char *ep;
if (argc < 2)
@@ -137,8 +139,10 @@
else
#endif
{
- pid = strtol(*argv, &ep, 10);
- if (!**argv || *ep)
+ pidl = strtol(*argv, &ep, 10);
+ /* Check for overflow of pid_t. */
+ pid = (pid_t)pidl;
+ if (!**argv || *ep || pid != pidl)
errx(2, "illegal process id: %s", *argv);
ret = kill(pid, numsig);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Aug 16, 9:43 PM (5 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36842209
Default Alt Text
D9887.id26013.diff (619 B)

Event Timeline