首页 > 代码库 > Linux内核编程:源码分析之防御性编程学习
Linux内核编程:源码分析之防御性编程学习
/* *Kernel : Linux2.6.32.63 *File : \scripts\mod\modpost.h \scripts\mod\modpost.c *Author : DavidLin *Date : 2014-12-25pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver : 000.000.001 *history : editor time do * 1)LinPeng 2014-12-25 created this file! * 2) */ /* modpost.h */ #define NOFAIL(ptr) do_nofail((ptr), #ptr) void* do_nofail (void* ptr, const char* expr); /* end of modpost.h */ /* modpost.c */ void* do_nofail(void* ptr, const char* expr) { if(!ptr) fatal("modpost: Memory allocation failure:%s.\n", expr); return ptr; } static struct module* new_module(char* modname) { struct module* mod; char *p, *s; mod = NOFAIL(malloc(sizeof(*mod))); memset(mod, 0, sizeof(*mod)); p = NOFAIL(strdup(modname)); /* strip trailing .o */ s = strrchr(p, ‘.‘); if(s != NULL) if(strcmp(s, ".o") == 0) *s = ‘\0‘; /* add to list */ mod->name = p; mod->gpl_compatible = -1; mod->next = modules; modules = mod; return mod; }
Linux内核编程:源码分析之防御性编程学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。