From: Matthias Braun Date: Wed, 5 Aug 2009 15:16:07 +0000 (+0000) Subject: fix read from uninitialized memory X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=e738216b930e4a25a92aa668a8c8552cd15834c0;p=libfirm fix read from uninitialized memory [r26318] --- diff --git a/ir/stat/stat_timing.c b/ir/stat/stat_timing.c index 6fb50323f..b80ed71d8 100644 --- a/ir/stat/stat_timing.c +++ b/ir/stat/stat_timing.c @@ -79,7 +79,8 @@ void timing_enter_max_prio(void) if (res < 0) return; new_scheduler = SCHED_FIFO; - sched_params.sched_priority = sched_get_priority_max(new_scheduler); + new_sched_params = sched_params; + new_sched_params.sched_priority = sched_get_priority_max(new_scheduler); sched_setscheduler(0, new_scheduler, &new_sched_params); if (res < 0) return; diff --git a/ir/stat/stat_timing.h b/ir/stat/stat_timing.h index 5d75b7237..1915084f6 100644 --- a/ir/stat/stat_timing.h +++ b/ir/stat/stat_timing.h @@ -53,7 +53,7 @@ static __inline timing_ticks_t __timing_ticks(void) { __asm { rdtsc } } typedef struct timeval timing_ticks_t; #define timing_ticks(t) (gettimeofday(&(t), NULL)) -#define timing_ticks_init(t) ((t).tv_sec = 0, (t).tv_usec = 0) +#define timing_ticks_init(t) memset((t), 0, sizeof(t)) /* * This shamelessly stolen and modified from glibc's diff --git a/ir/stat/statev.h b/ir/stat/statev.h index 58c18faf6..2ff51d7d1 100644 --- a/ir/stat/statev.h +++ b/ir/stat/statev.h @@ -62,7 +62,7 @@ extern int stat_ev_timer_sp; extern timing_ticks_t stat_ev_timer_elapsed[]; extern timing_ticks_t stat_ev_timer_start[]; -static inline __attribute__((unused)) void stat_ev_tim_push(void) { +static inline void stat_ev_tim_push(void) { timing_ticks_t temp; int sp = stat_ev_timer_sp++; timing_ticks(temp); @@ -76,7 +76,7 @@ static inline __attribute__((unused)) void stat_ev_tim_push(void) { timing_ticks(stat_ev_timer_start[sp]); } -static inline __attribute__((unused)) void stat_ev_tim_pop(const char *name) { +static inline void stat_ev_tim_pop(const char *name) { int sp; timing_ticks_t temp; timing_ticks(temp);