浏览代码

[libc][ctime] move null pointer check before dereference

This null check was redundant because the pointer timep was
dereferenced in any case.
Mingjie Shen 1 年之前
父节点
当前提交
c7ad493b9a
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      components/libc/compilers/common/ctime.c

+ 2 - 1
components/libc/compilers/common/ctime.c

@@ -177,7 +177,7 @@ static int set_timeval(struct timeval *tv)
 struct tm *gmtime_r(const time_t *timep, struct tm *r)
 {
     int i;
-    int work = *timep % (SPD);
+    int work;
 
     if(timep == RT_NULL || r == RT_NULL)
     {
@@ -187,6 +187,7 @@ struct tm *gmtime_r(const time_t *timep, struct tm *r)
 
     rt_memset(r, RT_NULL, sizeof(struct tm));
 
+    work = *timep % (SPD);
     r->tm_sec = work % 60;
     work /= 60;
     r->tm_min = work % 60;