📄 env.c
字号:
/* * Security checks of enviroment * Added from shadow-utils package * by Arkadiusz Mi秌iewicz <misiek@pld.ORG.PL> * */ #include <stdio.h>#include <stdlib.h>#include <string.h>#include "env.h"extern char **environ;static char * const forbid[] = { "_RLD_=", "BASH_ENV=", /* GNU creeping featurism strikes again... */ "ENV=", "HOME=", "IFS=", "KRB_CONF=", "LD_", /* anything with the LD_ prefix */ "LIBPATH=", "MAIL=", "NLSPATH=", "PATH=", "SHELL=", "SHLIB_PATH=", (char *) 0};/* these are allowed, but with no slashes inside (to work around security problems in GNU gettext) */static char * const noslash[] = { "LANG=", "LANGUAGE=", "LC_", /* anything with the LC_ prefix */ (char *) 0};voidsanitize_env(void){ char **envp = environ; char * const *bad; char **cur; char **move; for (cur = envp; *cur; cur++) { for (bad = forbid; *bad; bad++) { if (strncmp(*cur, *bad, strlen(*bad)) == 0) { for (move = cur; *move; move++) *move = *(move + 1); cur--; break; } } } for (cur = envp; *cur; cur++) { for (bad = noslash; *bad; bad++) { if (strncmp(*cur, *bad, strlen(*bad)) != 0) continue; if (!strchr(*cur, '/')) continue; /* OK */ for (move = cur; *move; move++) *move = *(move + 1); cur--; break; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -