X-Git-Url: https://git.syn-net.org/?p=debian%2Fuanytun.git;a=blobdiff_plain;f=src%2Fstring_list.c;h=97bc0579b8f67d4147f8f2a1f6b6fe87ded7024b;hp=f23fcdc32a329ba5e1a9d7efea52545a05357abf;hb=cdb24b629ee2962b8d02cd7d0cf5d11a9b9bd59f;hpb=b81b2c1954fe3e3317e6fa260c5ffdc9eeee966c diff --git a/src/string_list.c b/src/string_list.c index f23fcdc..97bc057 100644 --- a/src/string_list.c +++ b/src/string_list.c @@ -10,18 +10,19 @@ * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel * mode and allows tunneling of every ETHER TYPE protocol (e.g. * ethernet, ip, arp ...). satp directly includes cryptography and - * message authentication based on the methodes used by SRTP. It is + * message authentication based on the methods used by SRTP. It is * intended to deliver a generic, scaleable and secure solution for * tunneling and relaying of packets of any protocol. - * * - * Copyright (C) 2007-2008 Christian Pointner + * + * Copyright (C) 2007-2014 Christian Pointner * * This file is part of uAnytun. * * uAnytun is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. * * uAnytun is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -30,6 +31,19 @@ * * You should have received a copy of the GNU General Public License * along with uAnytun. If not, see . + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of portions of this program with the + * OpenSSL library under certain conditions as described in each + * individual source file, and distribute linked combinations + * including the two. + * You must obey the GNU General Public License in all respects + * for all of the code used other than OpenSSL. If you modify + * file(s) with this exception, you may extend this exception to your + * version of the file(s), but you are not obligated to do so. If you + * do not wish to do so, delete this exception statement from your + * version. If you delete this exception statement from all source + * files in the program, then also delete it here. */ #include @@ -42,7 +56,7 @@ void string_list_init(string_list_t* list) { if(!list) return; - + list->first_ = NULL; } @@ -91,8 +105,8 @@ int string_list_add(string_list_t* list, const char* string) tmp->next_->next_ = 0; tmp->next_->string_ = strdup(string); if(!tmp->next_->string_) { - free(list->first_); - list->first_ = NULL; + free(tmp->next_); + tmp->next_ = NULL; return -2; } } @@ -103,7 +117,7 @@ void string_list_print(string_list_t* list, const char* head, const char* tail) { if(!list) return; - + string_list_element_t* tmp = list->first_; while(tmp) { printf("%s%s%s", head, tmp->string_, tail);