X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fcollect%2Fcollect.c;fp=src%2Fudev%2Fcollect%2Fcollect.c;h=1346f27f91be55190f80ee6e5a0308eb47314082;hb=ef89eef77ee098a6828169a6d0d74128e236bcbd;hp=f95ee23b7596d62ad3f525359e7de2dc7a38e854;hpb=86d7de36869429f20d75e34bb3ddb2cfd2470e75;p=elogind.git diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c index f95ee23b7..1346f27f9 100644 --- a/src/udev/collect/collect.c +++ b/src/udev/collect/collect.c @@ -442,19 +442,19 @@ int main(int argc, char **argv) if (debug) fprintf(stderr, "ID %s: not in database\n", argv[i]); - him = malloc(sizeof (struct _mate)); + him = new(struct _mate, 1); if (!him) { ret = ENOMEM; goto out; } - him->name = malloc(strlen(argv[i]) + 1); + him->name = strdup(argv[i]); if (!him->name) { + free(him); ret = ENOMEM; goto out; } - strcpy(him->name, argv[i]); him->state = STATE_NONE; udev_list_node_append(&him->node, &bunch); } else {