diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pingpong.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/lib/pingpong.c b/lib/pingpong.c index b8f214005..ef865ae54 100644 --- a/lib/pingpong.c +++ b/lib/pingpong.c @@ -168,16 +168,22 @@ CURLcode Curl_pp_vsendf(struct pingpong *pp,    char *s;    CURLcode result;    struct connectdata *conn = pp->conn; -  struct Curl_easy *data = conn->data; +  struct Curl_easy *data;  #ifdef HAVE_GSSAPI -  enum protection_level data_sec = conn->data_prot; +  enum protection_level data_sec;  #endif    DEBUGASSERT(pp->sendleft == 0);    DEBUGASSERT(pp->sendsize == 0);    DEBUGASSERT(pp->sendthis == NULL); +  if(!conn) +    /* can't send without a connection! */ +    return CURLE_SEND_ERROR; + +  data = conn->data; +    fmt_crlf = aprintf("%s\r\n", fmt); /* append a trailing CRLF */    if(!fmt_crlf)      return CURLE_OUT_OF_MEMORY; @@ -205,6 +211,7 @@ CURLcode Curl_pp_vsendf(struct pingpong *pp,    result = Curl_write(conn, conn->sock[FIRSTSOCKET], s, write_len,                       &bytes_written);  #ifdef HAVE_GSSAPI +  data_sec = conn->data_prot;    DEBUGASSERT(data_sec > PROT_NONE && data_sec < PROT_LAST);    conn->data_prot = data_sec;  #endif | 
