⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 env.c

📁 Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器
💻 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 + -