projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
overhaul SSP support to use a real canary
[musl]
/
src
/
env
/
__init_security.c
diff --git
a/src/env/__init_security.c
b/src/env/__init_security.c
index
6893a25
..
8270f1f
100644
(file)
--- a/
src/env/__init_security.c
+++ b/
src/env/__init_security.c
@@
-8,7
+8,7
@@
#define AUX_CNT 24
#define AUX_CNT 24
-void dummy(
void
)
+void dummy(
size_t *auxv
)
{
}
weak_alias(dummy, __init_ssp);
{
}
weak_alias(dummy, __init_ssp);
@@
-18,7
+18,9
@@
void __init_security(size_t *auxv)
size_t i, aux[AUX_CNT] = { 0 };
struct pollfd pfd[3] = { {.fd=0}, {.fd=1}, {.fd=2} };
size_t i, aux[AUX_CNT] = { 0 };
struct pollfd pfd[3] = { {.fd=0}, {.fd=1}, {.fd=2} };
- __init_ssp();
+#ifndef SHARED
+ __init_ssp(auxv);
+#endif
for (; auxv[0]; auxv+=2) if (auxv[0]<AUX_CNT) aux[auxv[0]] = auxv[1];
if (aux[AT_UID]==aux[AT_EUID] && aux[AT_GID]==aux[AT_EGID]
for (; auxv[0]; auxv+=2) if (auxv[0]<AUX_CNT) aux[auxv[0]] = auxv[1];
if (aux[AT_UID]==aux[AT_EUID] && aux[AT_GID]==aux[AT_EGID]