Merge branch 'fix-kill-l-bad-free-sig-prefix' into 'master'
kill: Fix free() with bad pointer on SIG-prefixed signal-name kill -l SIGHUP (or any other signal-name prefixed with "SIG") would cause free() to be called with a bad pointer instead of a pointer to what was allocated. Fix this and add test-case. See merge request !26
This commit is contained in:
commit
18e7ebd261
@ -261,7 +261,7 @@ char *strtosig(const char *restrict s){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(p);
|
free(copy);
|
||||||
return converted;
|
return converted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,10 @@ set test "kill convert signal name to number"
|
|||||||
spawn $kill -lHUP
|
spawn $kill -lHUP
|
||||||
expect_pass "$test" "^1\\s*"
|
expect_pass "$test" "^1\\s*"
|
||||||
|
|
||||||
|
set test "kill convert SIG-prefixed signal name to number"
|
||||||
|
spawn $kill -lSIGHUP
|
||||||
|
expect_pass "$test" "^1\\s*$"
|
||||||
|
|
||||||
set test "kill convert signal number to name"
|
set test "kill convert signal number to name"
|
||||||
spawn $kill -l 1
|
spawn $kill -l 1
|
||||||
expect_pass "$test" "^HUP\\s*"
|
expect_pass "$test" "^HUP\\s*"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user