diff options
| author | Eric Blake <eblake@redhat.com> | 2019-08-24 12:28:12 -0500 |
|---|---|---|
| committer | Eric Blake <eblake@redhat.com> | 2019-09-05 15:52:45 -0500 |
| commit | df18c04edf57b55737ed5125bffe71a8196938a0 (patch) | |
| tree | 8736b0cfd329925185320014721c549f087af0c4 /nbd/server.c | |
| parent | 61cc872456492da24e36cfbd668abfbe127c739f (diff) | |
| download | focaccia-qemu-df18c04edf57b55737ed5125bffe71a8196938a0.tar.gz focaccia-qemu-df18c04edf57b55737ed5125bffe71a8196938a0.zip | |
nbd: Use g_autofree in a few places
Thanks to our recent move to use glib's g_autofree, I can join the bandwagon. Getting rid of gotos is fun ;) There are probably more places where we could register cleanup functions and get rid of more gotos; this patch just focuses on the labels that existed merely to call g_free. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20190824172813.29720-2-eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Diffstat (limited to 'nbd/server.c')
| -rw-r--r-- | nbd/server.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/nbd/server.c b/nbd/server.c index 0fb41c6c50..74d205812f 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -206,7 +206,7 @@ static int GCC_FMT_ATTR(4, 0) nbd_negotiate_send_rep_verr(NBDClient *client, uint32_t type, Error **errp, const char *fmt, va_list va) { - char *msg; + g_autofree char *msg = NULL; int ret; size_t len; @@ -216,18 +216,14 @@ nbd_negotiate_send_rep_verr(NBDClient *client, uint32_t type, trace_nbd_negotiate_send_rep_err(msg); ret = nbd_negotiate_send_rep_len(client, type, len, errp); if (ret < 0) { - goto out; + return ret; } if (nbd_write(client->ioc, msg, len, errp) < 0) { error_prepend(errp, "write failed (error message): "); - ret = -EIO; - } else { - ret = 0; + return -EIO; } -out: - g_free(msg); - return ret; + return 0; } /* Send an error reply. |