| From d34f673f0d08eff0dce82db232574fe4b5e9ed95 Mon Sep 17 00:00:00 2001 |
| From: Richard Jones <rjones@redhat.com> |
| Date: Thu, 11 Jun 2015 11:40:10 +0200 |
| Subject: [PATCH 10/30] curl: Remove unnecessary use of goto |
| |
| Message-id: <1434022828-13037-4-git-send-email-rjones@redhat.com> |
| Patchwork-id: 65838 |
| O-Subject: [RHEL-7.2 qemu-kvm v3 PATCH 03/21] curl: Remove unnecessary use of goto |
| Bugzilla: 1226684 |
| RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com> |
| RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com> |
| RH-Acked-by: Laszlo Ersek <lersek@redhat.com> |
| |
| From: Matthew Booth <mbooth@redhat.com> |
| |
| This isn't any of the usually acceptable uses of goto. |
| |
| Signed-off-by: Matthew Booth <mbooth@redhat.com> |
| Tested-by: Richard W.M. Jones <rjones@redhat.com> |
| Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
| |
| Upstream-status: 9e550b326076caf4a1756b77eee95ad60b4adc27 |
| Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com> |
| |
| block/curl.c | 55 +++++++++++++++++++++++++++---------------------------- |
| 1 file changed, 27 insertions(+), 28 deletions(-) |
| |
| diff --git a/block/curl.c b/block/curl.c |
| index f69e337..d399e3a 100644 |
| |
| |
| @@ -295,39 +295,38 @@ static CURLState *curl_init_state(BDRVCURLState *s) |
| } |
| } while(!state); |
| |
| - if (state->curl) |
| - goto has_curl; |
| - |
| - state->curl = curl_easy_init(); |
| - if (!state->curl) |
| - return NULL; |
| - curl_easy_setopt(state->curl, CURLOPT_URL, s->url); |
| - curl_easy_setopt(state->curl, CURLOPT_TIMEOUT, 5); |
| - curl_easy_setopt(state->curl, CURLOPT_WRITEFUNCTION, (void *)curl_read_cb); |
| - curl_easy_setopt(state->curl, CURLOPT_WRITEDATA, (void *)state); |
| - curl_easy_setopt(state->curl, CURLOPT_PRIVATE, (void *)state); |
| - curl_easy_setopt(state->curl, CURLOPT_AUTOREFERER, 1); |
| - curl_easy_setopt(state->curl, CURLOPT_FOLLOWLOCATION, 1); |
| - curl_easy_setopt(state->curl, CURLOPT_NOSIGNAL, 1); |
| - curl_easy_setopt(state->curl, CURLOPT_ERRORBUFFER, state->errmsg); |
| - curl_easy_setopt(state->curl, CURLOPT_FAILONERROR, 1); |
| - |
| - /* Restrict supported protocols to avoid security issues in the more |
| - * obscure protocols. For example, do not allow POP3/SMTP/IMAP see |
| - * CVE-2013-0249. |
| - * |
| - * Restricting protocols is only supported from 7.19.4 upwards. |
| - */ |
| + if (!state->curl) { |
| + state->curl = curl_easy_init(); |
| + if (!state->curl) { |
| + return NULL; |
| + } |
| + curl_easy_setopt(state->curl, CURLOPT_URL, s->url); |
| + curl_easy_setopt(state->curl, CURLOPT_TIMEOUT, 5); |
| + curl_easy_setopt(state->curl, CURLOPT_WRITEFUNCTION, |
| + (void *)curl_read_cb); |
| + curl_easy_setopt(state->curl, CURLOPT_WRITEDATA, (void *)state); |
| + curl_easy_setopt(state->curl, CURLOPT_PRIVATE, (void *)state); |
| + curl_easy_setopt(state->curl, CURLOPT_AUTOREFERER, 1); |
| + curl_easy_setopt(state->curl, CURLOPT_FOLLOWLOCATION, 1); |
| + curl_easy_setopt(state->curl, CURLOPT_NOSIGNAL, 1); |
| + curl_easy_setopt(state->curl, CURLOPT_ERRORBUFFER, state->errmsg); |
| + curl_easy_setopt(state->curl, CURLOPT_FAILONERROR, 1); |
| + |
| + /* Restrict supported protocols to avoid security issues in the more |
| + * obscure protocols. For example, do not allow POP3/SMTP/IMAP see |
| + * CVE-2013-0249. |
| + * |
| + * Restricting protocols is only supported from 7.19.4 upwards. |
| + */ |
| #if LIBCURL_VERSION_NUM >= 0x071304 |
| - curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, PROTOCOLS); |
| - curl_easy_setopt(state->curl, CURLOPT_REDIR_PROTOCOLS, PROTOCOLS); |
| + curl_easy_setopt(state->curl, CURLOPT_PROTOCOLS, PROTOCOLS); |
| + curl_easy_setopt(state->curl, CURLOPT_REDIR_PROTOCOLS, PROTOCOLS); |
| #endif |
| |
| #ifdef DEBUG_VERBOSE |
| - curl_easy_setopt(state->curl, CURLOPT_VERBOSE, 1); |
| + curl_easy_setopt(state->curl, CURLOPT_VERBOSE, 1); |
| #endif |
| - |
| -has_curl: |
| + } |
| |
| state->s = s; |
| |
| -- |
| 1.8.3.1 |
| |