Module Name: src Committed By: christos Date: Thu Dec 3 21:51:02 UTC 2015
Modified Files: src/sbin/gpt: label.c Log Message: CID 1341564: Arg memory leak To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/sbin/gpt/label.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sbin/gpt/label.c diff -u src/sbin/gpt/label.c:1.26 src/sbin/gpt/label.c:1.27 --- src/sbin/gpt/label.c:1.26 Thu Dec 3 16:48:12 2015 +++ src/sbin/gpt/label.c Thu Dec 3 16:51:02 2015 @@ -33,7 +33,7 @@ __FBSDID("$FreeBSD: src/sbin/gpt/label.c,v 1.3 2006/10/04 18:20:25 marcel Exp $"); #endif #ifdef __RCSID -__RCSID("$NetBSD: label.c,v 1.26 2015/12/03 21:48:12 christos Exp $"); +__RCSID("$NetBSD: label.c,v 1.27 2015/12/03 21:51:02 christos Exp $"); #endif #include <sys/types.h> @@ -135,21 +135,24 @@ cmd_label(gpt_t gpt, int argc, char *arg switch(ch) { case 'f': if (name_from_file(gpt, &name) == -1) - return usage(); + goto usage; break; case 'l': if (gpt_name_get(gpt, &name) == -1) - return usage(); + goto usage; break; default: if (gpt_add_find(gpt, &find, ch) == -1) - return usage(); + goto usage; break; } } if (name == NULL || argc != optind) - return usage(); + goto usage; return gpt_change_ent(gpt, &find, change, name); +usage: + free(name); + return -1; }