From 0846a8a1dbefa60dd52e81f0033856f7fa4d17c9 Mon Sep 17 00:00:00 2001 From: yinjiaming Date: Wed, 26 Jan 2022 11:56:12 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=BB=E5=B9=B2=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E6=B8=85=E9=9B=B6=20=E3=80=90=E8=83=8C=E6=99=AF=E3=80=91=20?= =?UTF-8?q?=E4=B8=BB=E5=B9=B2=E5=91=8A=E8=AD=A6=E6=B8=85=E9=9B=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 【修改方案】 在有符号数与无符号数混用的地方添加了强制类型转换 【影响】 对现有的产品编译不会有影响。 re #I4SBQE Signed-off-by: yinjiaming Change-Id: I70b4613726706ff28bd852f05a411ba729cea72c --- components/net/lwip-2.1/porting/src/sys_arch.c | 2 +- components/shell/src/cmds/vfs_shellcmd.c | 2 +- kal/posix/src/pthread.c | 12 ++++++++---- kal/posix/src/pthread_cond.c | 2 +- kal/posix/src/time.c | 6 +++--- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/components/net/lwip-2.1/porting/src/sys_arch.c b/components/net/lwip-2.1/porting/src/sys_arch.c index 832e4309..d85e6278 100644 --- a/components/net/lwip-2.1/porting/src/sys_arch.c +++ b/components/net/lwip-2.1/porting/src/sys_arch.c @@ -67,7 +67,7 @@ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, task.pfnTaskEntry = (TSK_ENTRY_FUNC)thread; task.uwStackSize = stackSize; task.pcName = (char *)name; - task.usTaskPrio = prio; + task.usTaskPrio = (UINT16)prio; task.uwArg = (UINTPTR)arg; task.uwResved = LOS_TASK_STATUS_DETACHED; ret = LOS_TaskCreate(&taskID, &task); diff --git a/components/shell/src/cmds/vfs_shellcmd.c b/components/shell/src/cmds/vfs_shellcmd.c index bfe025ea..d4cfe3c3 100755 --- a/components/shell/src/cmds/vfs_shellcmd.c +++ b/components/shell/src/cmds/vfs_shellcmd.c @@ -385,7 +385,7 @@ static int OsShellCmdDoCp(const char *srcFilePath, const char *dstFileName) char *dstFilePath = NULL; char *buf = NULL; const char *filename = NULL; - size_t rdSize, wrSize; + ssize_t rdSize, wrSize; int srcFd = -1; int dstFd = -1; struct stat statBuf; diff --git a/kal/posix/src/pthread.c b/kal/posix/src/pthread.c index cd5d8702..1db4fb2e 100644 --- a/kal/posix/src/pthread.c +++ b/kal/posix/src/pthread.c @@ -144,7 +144,7 @@ int pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *par } *policy = SCHED_RR; - param->sched_priority = prio; + param->sched_priority = (int)prio; return 0; } @@ -205,6 +205,7 @@ void pthread_exit(void *retVal) int pthread_setname_np(pthread_t thread, const char *name) { + errno_t ret; char *taskName = LOS_TaskNameGet((UINT32)thread); if (taskName == NULL || !IsPthread(thread)) { return EINVAL; @@ -212,13 +213,16 @@ int pthread_setname_np(pthread_t thread, const char *name) if (strnlen(name, PTHREAD_NAMELEN) >= PTHREAD_NAMELEN) { return ERANGE; } - (void)strcpy_s(taskName, PTHREAD_NAMELEN, name); + ret = strcpy_s(taskName, PTHREAD_NAMELEN, name); + if (ret != EOK) { + return ret; + } return 0; } int pthread_getname_np(pthread_t thread, char *buf, size_t buflen) { - int ret; + errno_t ret; const char *name = LOS_TaskNameGet((UINT32)thread); if (name == NULL || !IsPthread(thread)) { @@ -226,7 +230,7 @@ int pthread_getname_np(pthread_t thread, char *buf, size_t buflen) } if (buflen > strlen(name)) { ret = strcpy_s(buf, buflen, name); - if (ret == 0) { + if (ret == EOK) { return 0; } } diff --git a/kal/posix/src/pthread_cond.c b/kal/posix/src/pthread_cond.c index a08e1584..da6a3e39 100644 --- a/kal/posix/src/pthread_cond.c +++ b/kal/posix/src/pthread_cond.c @@ -231,7 +231,7 @@ int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, } clock_gettime(CLOCK_REALTIME, &tp); - currTime = (UINT64)tp.tv_sec * OS_SYS_NS_PER_SECOND + tp.tv_nsec; + currTime = (UINT64)tp.tv_sec * OS_SYS_NS_PER_SECOND + (UINT64)tp.tv_nsec; nseconds = (UINT64)ts->tv_sec * OS_SYS_NS_PER_SECOND + ts->tv_nsec; if (currTime >= nseconds) { return ETIMEDOUT; diff --git a/kal/posix/src/time.c b/kal/posix/src/time.c index 0f54fca3..cdd93d8a 100644 --- a/kal/posix/src/time.c +++ b/kal/posix/src/time.c @@ -250,7 +250,7 @@ STATIC VOID OsGetHwTime(struct timespec *hwTime) UINT64 nowNsec = (cycle / OS_SYS_CLOCK) * OS_SYS_NS_PER_SECOND + (cycle % OS_SYS_CLOCK) * OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK; - hwTime->tv_sec = nowNsec / OS_SYS_NS_PER_SECOND; + hwTime->tv_sec = (time_t)(nowNsec / OS_SYS_NS_PER_SECOND); hwTime->tv_nsec = nowNsec % OS_SYS_NS_PER_SECOND; } @@ -354,7 +354,7 @@ int clock_getres(clockid_t clockID, struct timespec *tp) case CLOCK_REALTIME: case CLOCK_MONOTONIC_COARSE: case CLOCK_REALTIME_COARSE: - tp->tv_nsec = OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK; + tp->tv_nsec = (long)(OS_SYS_NS_PER_SECOND / OS_SYS_CLOCK); tp->tv_sec = 0; return 0; case CLOCK_THREAD_CPUTIME_ID: @@ -660,5 +660,5 @@ unsigned sleep(unsigned seconds) specTime.tv_sec = (time_t)(nanoseconds / OS_SYS_NS_PER_SECOND); specTime.tv_nsec = (long)(nanoseconds % OS_SYS_NS_PER_SECOND); - return nanosleep(&specTime, NULL); + return (unsigned)nanosleep(&specTime, NULL); }