diff options
author | Nathan S. Evans <evans@in.tum.de> | 2011-02-05 12:30:56 +0000 |
---|---|---|
committer | Nathan S. Evans <evans@in.tum.de> | 2011-02-05 12:30:56 +0000 |
commit | 1b9ada73c28674a518e9270da04b6853d1bb942a (patch) | |
tree | 1d23df241c4cf139578c97c9cb98e3d3a7cea1b8 /src/nat | |
parent | 2077865adf5ef1f857d93dc045dacd70b3425bec (diff) | |
download | gnunet-1b9ada73c28674a518e9270da04b6853d1bb942a.tar.gz gnunet-1b9ada73c28674a518e9270da04b6853d1bb942a.zip |
segfault in upnp code (tip of the proverbial iceberg?)
Diffstat (limited to 'src/nat')
-rw-r--r-- | src/nat/upnp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nat/upnp.c b/src/nat/upnp.c index bdb479da1..45c7df419 100644 --- a/src/nat/upnp.c +++ b/src/nat/upnp.c | |||
@@ -67,7 +67,7 @@ struct GNUNET_NAT_UPNP_Handle | |||
67 | unsigned int is_mapped; | 67 | unsigned int is_mapped; |
68 | enum UPNP_State state; | 68 | enum UPNP_State state; |
69 | struct sockaddr *ext_addr; | 69 | struct sockaddr *ext_addr; |
70 | const char *iface; | 70 | char *iface; |
71 | int processing; | 71 | int processing; |
72 | GNUNET_NAT_UPNP_pulse_cb pulse_cb; | 72 | GNUNET_NAT_UPNP_pulse_cb pulse_cb; |
73 | void *pulse_cls; | 73 | void *pulse_cls; |
@@ -79,10 +79,10 @@ process_if (void *cls, | |||
79 | int isDefault, const struct sockaddr *addr, socklen_t addrlen) | 79 | int isDefault, const struct sockaddr *addr, socklen_t addrlen) |
80 | { | 80 | { |
81 | struct GNUNET_NAT_UPNP_Handle *upnp = cls; | 81 | struct GNUNET_NAT_UPNP_Handle *upnp = cls; |
82 | 82 | GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "UPNP found if `%s'\n", name); | |
83 | if (addr && GNUNET_NAT_cmp_addr (upnp->addr, addr) == 0) | 83 | if (addr && GNUNET_NAT_cmp_addr (upnp->addr, addr) == 0) |
84 | { | 84 | { |
85 | upnp->iface = name; // BADNESS! | 85 | upnp->iface = GNUNET_strdup(name); // BADNESS! |
86 | return GNUNET_SYSERR; | 86 | return GNUNET_SYSERR; |
87 | } | 87 | } |
88 | 88 | ||