diff options
author | Martin Willi <martin@revosec.ch> | 2011-02-03 16:58:12 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-02-03 17:09:09 +0100 |
commit | 7e0eae49857e462e48fceda6e186a1a60624f43d (patch) | |
tree | 28f91ad4c56883e639e19e14b2f98d4937c2c733 | |
parent | bf3e482141fb2e5e7685a8c555bee39414d6c4a9 (diff) | |
download | strongswan-7e0eae49857e462e48fceda6e186a1a60624f43d.tar.bz2 strongswan-7e0eae49857e462e48fceda6e186a1a60624f43d.tar.xz |
Replace hashtable key if a put operation replaces value
Fixes a crash if lifetime of key is bound to value (i.e. key == value)
-rw-r--r-- | src/libstrongswan/utils/hashtable.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/hashtable.c b/src/libstrongswan/utils/hashtable.c index 3b7148e0b..49b0bb68c 100644 --- a/src/libstrongswan/utils/hashtable.c +++ b/src/libstrongswan/utils/hashtable.c @@ -249,6 +249,7 @@ METHOD(hashtable_t, put, void*, { old_value = pair->value; pair->value = value; + pair->key = key; break; } } |