svn commit: r185495 - head/sbin/geom/class/part
Marcel Moolenaar
marcel at FreeBSD.org
Sun Nov 30 15:38:44 PST 2008
Author: marcel
Date: Sun Nov 30 23:38:44 2008
New Revision: 185495
URL: http://svn.freebsd.org/changeset/base/185495
Log:
Call gctl_free() after we processed the error string.
It's being freed as part of the request.
Modified:
head/sbin/geom/class/part/geom_part.c
Modified: head/sbin/geom/class/part/geom_part.c
==============================================================================
--- head/sbin/geom/class/part/geom_part.c Sun Nov 30 22:58:27 2008 (r185494)
+++ head/sbin/geom/class/part/geom_part.c Sun Nov 30 23:38:44 2008 (r185495)
@@ -512,23 +512,29 @@ gpart_issue(struct gctl_req *req, unsign
char buf[4096];
char *errmsg;
const char *errstr;
- int error;
+ int error, status;
bzero(buf, sizeof(buf));
gctl_rw_param(req, "output", sizeof(buf), buf);
errstr = gctl_issue(req);
- gctl_free(req);
if (errstr == NULL || errstr[0] == '\0') {
if (buf[0] != '\0')
printf("%s", buf);
- exit(EXIT_SUCCESS);
+ status = EXIT_SUCCESS;
+ goto done;
}
error = strtol(errstr, &errmsg, 0);
while (errmsg[0] == ' ')
errmsg++;
if (errmsg[0] != '\0')
- errc(EXIT_FAILURE, error, "%s", errmsg);
+ warnc(error, "%s", errmsg);
else
- errc(EXIT_FAILURE, error, NULL);
+ warnc(error, NULL);
+
+ status = EXIT_FAILURE;
+
+ done:
+ gctl_free(req);
+ exit(status);
}
More information about the svn-src-head
mailing list