希望您度过愉快的一天; 所以我有以下代码,我想知道它是否会在某个时刻溢出::
static void * myalloc(size_t len) {
void * p = malloc(len);
if (p == NULL) {
fprintf(stderr, "end of memory\n");
exit(1);
}
return p;
}
static void * copy_buf(void * buf, uint32_t count, uint32_t be) {
uint32_t * p = NULL;
if (buf != NULL) {
p = myalloc(count * 4);
memcpy(p, buf, count * 4);
}
// more code
return p;
}
如果它没有溢出,是否会有其他原因导致它这样做,我的意思是如果变量发生变化。或者参数发生了变化(当然不是数据类型,而是它们的值)。
感谢您的帮助,完整的源代码要大得多(超过一个文件,每个文件超过2000 行代码),但这是我关心的部分之一……
祝你今天过得愉快。