author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun Aug 02 23:33:38 2009 +0200 (2009-08-02) | |
changeset 1442 | e4bb05790f3f |
parent 746 | b150d6f590fc |
permissions | -rw-r--r-- |
yann@570 | 1 |
Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/50_all_gdb-deleted-children.patch |
yann@570 | 2 |
-= BEGIN original header =- |
yann@570 | 3 |
http://bugs.gentoo.org/210636 |
yann@570 | 4 |
http://sourceware.org/ml/gdb-patches/2007-11/msg00136.html |
yann@570 | 5 |
|
yann@570 | 6 |
2007-11-07 Vladimir Prus <vladimir@codesourcery.com> |
yann@570 | 7 |
|
yann@570 | 8 |
Fix crash when a variable object being deleted |
yann@570 | 9 |
has any of its children deleted previously. |
yann@570 | 10 |
|
yann@570 | 11 |
* varobj.c (delete_variable_1): Don't recurse |
yann@570 | 12 |
into deleted children. |
yann@570 | 13 |
|
yann@570 | 14 |
-= END original header =- |
yann@570 | 15 |
diff -durN gdb-6.7.1.orig/gdb/varobj.c gdb-6.7.1/gdb/varobj.c |
yann@570 | 16 |
--- gdb-6.7.1.orig/gdb/varobj.c 2007-08-31 21:01:17.000000000 +0200 |
yann@570 | 17 |
+++ gdb-6.7.1/gdb/varobj.c 2008-06-17 23:27:45.000000000 +0200 |
yann@570 | 18 |
@@ -1295,6 +1295,8 @@ |
yann@570 | 19 |
for (i = 0; i < VEC_length (varobj_p, var->children); ++i) |
yann@570 | 20 |
{ |
yann@570 | 21 |
varobj_p child = VEC_index (varobj_p, var->children, i); |
yann@570 | 22 |
+ if (!child) |
yann@570 | 23 |
+ continue; |
yann@570 | 24 |
if (!remove_from_parent_p) |
yann@570 | 25 |
child->parent = NULL; |
yann@570 | 26 |
delete_variable_1 (resultp, delcountp, child, 0, only_children_p); |