One more:
+void +fixup_properties(struct node *chipnodes, struct node *mainboardnodes) +{
- struct node *c;
- struct node *m = mainboardnodes;
- struct node *del = NULL;
- struct node *head = mainboardnodes;
- while (m) {
for (c = chipnodes; c; c = c->next) {
if (strcmp(c->dtslabel, m->dtslabel)) {
This strcmp seg faults if the node wasn't labeled. I'd suggest:
if (!c->dtslabel || !m->dtslabel ||
strcmp(c->dtslabel, m->dtslabel)) {
continue;
}