[IA64] Wrong args to memset in efi_gettimeofday()
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 6 Nov 2007 21:40:39 +0000 (13:40 -0800)
committerTony Luck <tony.luck@intel.com>
Tue, 6 Nov 2007 21:40:39 +0000 (13:40 -0800)
Not sizeof(ptr) ... we meant to say sizeof(*ptr).

Also moved the memset to the error path (the normal path overwrites
every field in the structure anyway) -Tony

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/efi.c

index 6216eba2e38f2a5293683e501827fcf9490a5ab9..5181bf551f3c30edbf45d27d6ea3353fb0b43298 100644 (file)
@@ -218,9 +218,10 @@ efi_gettimeofday (struct timespec *ts)
 {
        efi_time_t tm;
 
-       memset(ts, 0, sizeof(ts));
-       if ((*efi.get_time)(&tm, NULL) != EFI_SUCCESS)
+       if ((*efi.get_time)(&tm, NULL) != EFI_SUCCESS) {
+               memset(ts, 0, sizeof(*ts));
                return;
+       }
 
        ts->tv_sec = mktime(tm.year, tm.month, tm.day, tm.hour, tm.minute, tm.second);
        ts->tv_nsec = tm.nanosecond;