[PATCH xserver] busfault_sigaction: Only initialize pointer when matched
Egbert Eich
eich at freedesktop.org
Mon Jan 11 12:46:28 PST 2016
When looping over the registered map ranges, don't use
the variable holding the final result as loop variable -
It would always be initialized, on an empty list or
when we run past the end of the list when no entry was
found.
Signed-off-by: Egbert Eich <eich at freedesktop.org>
---
os/busfault.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/os/busfault.c b/os/busfault.c
index d4afa6d..53f02e6 100644
--- a/os/busfault.c
+++ b/os/busfault.c
@@ -98,13 +98,15 @@ static void
busfault_sigaction(int sig, siginfo_t *info, void *param)
{
void *fault = info->si_addr;
- struct busfault *busfault = NULL;
+ struct busfault *tmp, *busfault = NULL;
void *new_addr;
/* Locate the faulting address in our list of shared segments
*/
- xorg_list_for_each_entry(busfault, &busfaults, list) {
- if ((char *) busfault->addr <= (char *) fault && (char *) fault < (char *) busfault->addr + busfault->size) {
+ xorg_list_for_each_entry(tmp, &busfaults, list) {
+ if ((char *) tmp->addr <= (char *) fault &&
+ (char *) fault < (char *) tmp->addr + tmp->size) {
+ busfault = tmp;
break;
}
}
--
2.5.3
More information about the xorg-devel
mailing list