dllist.c

Started by Nonamealmost 27 years ago1 messages
#1Noname
prlw1@cam.ac.uk

While trying to fix a program of mine (still didn't get there) I came
across:

Dllist *
DLNewList(void)
{
Dllist *l;

l = malloc(sizeof(Dllist));
l->dll_head = 0;
l->dll_tail = 0;

return l;
}

in src/backend/lib/dllist.c, and for a while thought that my problem
had something to do with malloc failing, returning 0, and the next
line trying to write a zero at memory location zero leading to a
segfault. What is the right way of dealing with this? Error message,
or returning NULL a la:

Dllist *
DLNewList(void)
{
Dllist *l;

l = (Dllist *)malloc(sizeof(Dllist));
if (l != (Dllist *)NULL) {
l->dll_head = 0;
l->dll_tail = 0;
}
return l;
}

Again, this wasn't the problem (still looking), but I thought it might
be worth mentioning (same probably applies to DLNewElem()).

Cheers,

Patrick