py-inferior.exp: Avoid searching pattern beyond buffer
authorJoel Brobecker <brobecker@gnat.com>
Thu, 3 Mar 2011 03:55:31 +0000 (03:55 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 3 Mar 2011 03:55:31 +0000 (03:55 +0000)
gdb/testsuite/ChangeLog:

        * gdb.python/py-inferior.exp: Avoid searching pattern beyond
        end of buffer.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.python/py-inferior.exp

index ac9bd0e13ff51194102be273d8631c9d1eed9abd..bce369f580bb342718b5aeb6ccfc6f44415387e3 100644 (file)
@@ -1,3 +1,8 @@
+2011-03-03  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdb.python/py-inferior.exp: Avoid searching pattern beyond
+       end of buffer.
+
 2011-03-02  Joel Brobecker  <brobecker@adacore.com>
 
        * gdb.python/py-inferior.exp: Use gdb_test_no_output instead of
index c219117f11f44eac6d2b3776cf502affcba60917..138c0fb19d28b9cc1860778948b021a8ef83c9bf 100644 (file)
@@ -171,15 +171,15 @@ set CHUNK_SIZE 16000 ;
 gdb_test_no_output "set *(int32_t*) &search_buf\[0*${CHUNK_SIZE}+100\] = 0x12345678"
 gdb_test_no_output "set *(int32_t*) &search_buf\[1*${CHUNK_SIZE}+100\] = 0x12345678"
 gdb_test_no_output "py start_addr = gdb.selected_frame ().read_var ('search_buf')"
-gdb_test_no_output "py length = gdb.selected_frame ().read_var ('search_buf_size')"
+gdb_test_no_output "py end_addr = start_addr + gdb.selected_frame ().read_var ('search_buf_size')"
 gdb_test_no_output "py pattern = pack('${python_pack_char}I', 0x12345678)"
-gdb_test_no_output "py first = gdb.inferiors()\[0\].search_memory (start_addr,length, pattern)"
+gdb_test_no_output "py first = gdb.inferiors()\[0\].search_memory (start_addr,end_addr - start_addr, pattern)"
 gdb_test "py print first" "${one_pattern_found}" "search spanning large range 1st result"
 gdb_test_no_output "py start_addr = first + 1"
-gdb_test_no_output "py second = gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)"
+gdb_test_no_output "py second = gdb.inferiors()\[0\].search_memory (start_addr, end_addr - start_addr, pattern)"
 gdb_test "py print second" "${one_pattern_found}" "search spanning large range 2nd result"
 gdb_test_no_output "py start_addr = second + 1"
-gdb_test_no_output "py third = gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)"
+gdb_test_no_output "py third = gdb.inferiors()\[0\].search_memory (start_addr, end_addr - start_addr, pattern)"
 gdb_test "py print third" "${pattern_not_found}" "search spanning large range 3rd result"
 
 # For native targets, test a pattern straddling a chunk boundary.
@@ -188,6 +188,6 @@ if [isnative] {
     gdb_test_no_output "set *(int32_t*) &search_buf\[${CHUNK_SIZE}-1\] = 0xfdb97531"
     gdb_test_no_output "py pattern = pack('${python_pack_char}I', 0xfdb97531)"
     gdb_test_no_output "py start_addr = gdb.selected_frame ().read_var ('search_buf')"
-    gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)" \
+    gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, end_addr - start_addr, pattern)" \
       "${one_pattern_found}" "find pattern straddling chunk boundary"
 }