telnet.c: fix OOM triggered segfault

This commit is contained in:
Yang Tse 2012-01-20 00:11:15 +01:00
parent a7e8f4aabc
commit d7af7de5b2

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -1273,11 +1273,13 @@ static CURLcode telnet_done(struct connectdata *conn,
(void)status; /* unused */ (void)status; /* unused */
(void)premature; /* not used */ (void)premature; /* not used */
if(!tn)
return CURLE_OK;
curl_slist_free_all(tn->telnet_vars); curl_slist_free_all(tn->telnet_vars);
tn->telnet_vars = NULL; tn->telnet_vars = NULL;
free(conn->data->state.proto.telnet); Curl_safefree(conn->data->state.proto.telnet);
conn->data->state.proto.telnet = NULL;
return CURLE_OK; return CURLE_OK;
} }