看板 DFBSD_bugs 關於我們 聯絡資訊
> tmp_cp = malloc(sizeof(char) * 10); > cp = tmp_cp > free(tmp_cp); > tmp_cp = NULL; > > then cp would now be pointing to a block of memory that could be used by > some other process/overwritten? Would that not make it impossible for me > to actually free tmp_cp, as cp needs it? This frees the memory that tmp_cp && cp both *point to*. From that point on, if you reference cp you'll hopefully segfault because you're referencing garbage. Worst case, someone will put some malicious code at that memory location and 0wn3 your box. Also if this is a local function, pointing tmp_cp to NULL does nothing useful except give you a clean stack. That practice is most beneficial when using global/member variables. Adrian