diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/unwind-dw2-fde.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4681a7..8d1fb69 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-04-18 Douglas B Rupp <rupp@gnat.com> + + * unwind-dw2-fde.c (__register_frame_info_bases): Check for + null begin parameter (as well as pointer to null). + (__deregister_frame_info_bases): Likewise. + 2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a diff --git a/gcc/unwind-dw2-fde.c b/gcc/unwind-dw2-fde.c index b1bd8c0..31fc1c4 100644 --- a/gcc/unwind-dw2-fde.c +++ b/gcc/unwind-dw2-fde.c @@ -78,7 +78,7 @@ __register_frame_info_bases (void *begin, struct object *ob, void *tbase, void *dbase) { /* If .eh_frame is empty, don't register at all. */ - if (*(uword *) begin == 0) + if ((uword *) begin == 0 || *(uword *) begin == 0) return; ob->pc_begin = (void *)-1; @@ -176,7 +176,7 @@ __deregister_frame_info_bases (void *begin) struct object *ob = 0; /* If .eh_frame is empty, we haven't registered. */ - if (*(uword *) begin == 0) + if ((uword *) begin == 0 || *(uword *) begin == 0) return ob; init_object_mutex_once (); |