diff options
author | Yang Tse <yangsita@gmail.com> | 2012-01-20 00:11:15 +0100 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2012-01-20 00:11:15 +0100 |
commit | d7af7de5b2d9aee7e41fc45d502c082918abd4bd (patch) | |
tree | be96d6976a64644ed86ff9ab293abba52bd45375 | |
parent | a7e8f4aabcb7f5b46e0dd94a9645c5cd2744f9da (diff) |
telnet.c: fix OOM triggered segfault
-rw-r--r-- | lib/telnet.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/telnet.c b/lib/telnet.c index e7cb295d8..0be795435 100644 --- a/lib/telnet.c +++ b/lib/telnet.c @@ -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 * 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)premature; /* not used */ + if(!tn) + return CURLE_OK; + curl_slist_free_all(tn->telnet_vars); tn->telnet_vars = NULL; - free(conn->data->state.proto.telnet); - conn->data->state.proto.telnet = NULL; + Curl_safefree(conn->data->state.proto.telnet); return CURLE_OK; } |