提问人:David Ranieri 提问时间:4/18/2019 更新时间:4/18/2019 访问量:92
c-generic-library(多次恶意定位)
c-generic-library (mallocing several times)
问:
浏览 c-generic-library 代码时,我发现了这一点:
#include <stdio.h>
#include "node.h"
#include "gen/access_macros.h"
#include "gen/error_macros.h"
Node *
construct_Node(size_t nlinks)
{
Node *ptr = NULL;
CHECK_VARA(ptr = malloc(sizeof *ptr), NULL);
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
if (!(ptr->ptr = malloc(sizeof *(ptr->ptr) * nlinks))) {
return ptr;
}
}
}
return ptr;
}
void
destruct_Node(Node * node)
{
free(node->ptr);
free(node);
}
重试 2 次有什么好处?我的意思是,如果它之前已经失败了两次,是否有任何机会返回真?malloc
malloc
答: 暂无答案
评论