I would like to know if this looks correct :
while((next !=NULL) && (strcmp(next->name, some_string) < 0) { //some process }
Yes && is short circuited and you are using it correctly.If next is NULL string compare will never happen.
&&
next
NULL