diff options
author | Mohammed Rafi KC <rkavunga@redhat.com> | 2018-08-16 17:04:22 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2018-08-20 02:55:43 +0000 |
commit | 4814140a539f4685bf439b456381751ee84be8fa (patch) | |
tree | 0ff940fb5d6f3a8e1804e7184f3b83d9a296e5b1 /tests/bugs | |
parent | 8549ba1a3de8bba7c80ea24121fb095cd756c64e (diff) |
snapshot/handshake: store description after strdup
problem:
During a handshake, when we import a friend data
snap description variable was just referenced to
dictionary value.
Solution:
snap description should have a separate memory allocated
through gf_strdup
Change-Id: I94da0c57919e1228919231d1563a001362b100b8
fixes: bz#1618004
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Diffstat (limited to 'tests/bugs')
-rw-r--r-- | tests/bugs/snapshot/bug-1618004-fix-memory-corruption-in-snap-import.t | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/bugs/snapshot/bug-1618004-fix-memory-corruption-in-snap-import.t b/tests/bugs/snapshot/bug-1618004-fix-memory-corruption-in-snap-import.t new file mode 100644 index 00000000000..a2c004e435e --- /dev/null +++ b/tests/bugs/snapshot/bug-1618004-fix-memory-corruption-in-snap-import.t @@ -0,0 +1,48 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../snapshot.rc +. $(dirname $0)/../../cluster.rc + +function get_volume_info () +{ + local var=$1 + $CLI_1 volume info $V0 | grep "^$var" | sed 's/.*: //' +} + +cleanup; + +TEST verify_lvm_version +TEST launch_cluster 2 +TEST setup_lvm 2 + +TEST $CLI_1 peer probe $H2; +EXPECT_WITHIN $PROBE_TIMEOUT 1 peer_count; + +TEST $CLI_1 volume create $V0 $H1:$L1 $H2:$L2 +EXPECT "$V0" get_volume_info 'Volume Name'; +EXPECT 'Created' get_volume_info 'Status'; + +TEST $CLI_1 volume start $V0 +EXPECT 'Started' get_volume_info 'Status'; + + +# Setting system limit +TEST $CLI_1 snapshot config activate-on-create enable + +TEST $CLI_1 snapshot create snap1 $V0 no-timestamp description "test" +TEST kill_glusterd 1 +#deactivate snapshot for changing snap version, so that handshake will +#happen when glusterd is restarted +TEST $CLI_2 snapshot deactivate snap1 +TEST start_glusterd 1 + +#Wait till handshake complete +EXPECT_WITHIN ${PROCESS_UP_TIMEOUT} 'Stopped' snapshot_status snap1 + +#Delete the snapshot, without this fix, delete will lead to assertion failure +$CLI_1 snapshot delete all +EXPECT '0' get_snap_count CLI_1; +cleanup; + |