diff options
author | Tim Moore <timoore@redhat.com> | 2008-10-02 10:31:49 +0200 |
---|---|---|
committer | Tim Moore <timoore@redhat.com> | 2008-10-02 12:13:39 +0200 |
commit | caf566cb319004a314b09ea6fd6781941db89f8e (patch) | |
tree | d59f1176575eda6bd723443f26c34bc733c1c046 /runtime/addr-map.c | |
parent | dd4918442a55569175bda0575f746e84c99cee58 (diff) | |
download | systemtap-steved-caf566cb319004a314b09ea6fd6781941db89f8e.tar.gz systemtap-steved-caf566cb319004a314b09ea6fd6781941db89f8e.tar.xz systemtap-steved-caf566cb319004a314b09ea6fd6781941db89f8e.zip |
fix bugs in add_bad_addr_entry
Diffstat (limited to 'runtime/addr-map.c')
-rw-r--r-- | runtime/addr-map.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/addr-map.c b/runtime/addr-map.c index c215b744..706da454 100644 --- a/runtime/addr-map.c +++ b/runtime/addr-map.c @@ -139,8 +139,9 @@ add_bad_addr_entry(unsigned long min_addr, unsigned long max_addr, if (!new_map) return -ENOMEM; new_map->size = old_size + 1; - continue; } + else + break; } if (!blackmap) { @@ -170,7 +171,7 @@ add_bad_addr_entry(unsigned long min_addr, unsigned long max_addr, memcpy(&new_map->entries, old_map->entries, existing * sizeof(*new_entry)); if (old_map->size > existing) - memcpy(new_entry + 1, &old_map->entries[existing + 1], + memcpy(new_entry + 1, &old_map->entries[existing], (old_map->size - existing) * sizeof(*new_entry)); } blackmap = new_map; |