fix: codecheck问题清零 1.shell初始化异常流程double free 2.los_disk_init中冗余初始化 3.OsKProcessPmUsage 中OsUProcessPmUsage异常退出时,存在使用未初始化的变量 4.HiLogHeadInit异常推出后,存在使用未初始化的变量 5.api_shell.c 中存在冗余初始化 fix #I63H5G Signed-off-by: zhushengle <zhushengle@huawei.com> Change-Id: If17d8ed1e6f2276e20fbce24b32de169bfd22e54
This commit is contained in:
parent
85f1c9e0ca
commit
205df75f15
|
@ -49,7 +49,7 @@ ShellCB *OsGetShellCb()
|
||||||
return g_shellCB;
|
return g_shellCB;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShellDeinit(ShellCB *shellCB)
|
static void ShellDeinit(ShellCB *shellCB)
|
||||||
{
|
{
|
||||||
(void)pthread_mutex_destroy(&shellCB->historyMutex);
|
(void)pthread_mutex_destroy(&shellCB->historyMutex);
|
||||||
(void)pthread_mutex_destroy(&shellCB->keyMutex);
|
(void)pthread_mutex_destroy(&shellCB->keyMutex);
|
||||||
|
@ -65,27 +65,23 @@ static int OsShellCreateTask(ShellCB *shellCB)
|
||||||
|
|
||||||
ret = sched_getparam(getpid(), ¶m);
|
ret = sched_getparam(getpid(), ¶m);
|
||||||
if (ret != SH_OK) {
|
if (ret != SH_OK) {
|
||||||
goto OUT;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
param.sched_priority = SHELL_PROCESS_PRIORITY_INIT;
|
param.sched_priority = SHELL_PROCESS_PRIORITY_INIT;
|
||||||
|
|
||||||
ret = sched_setparam(getpid(), ¶m);
|
ret = sched_setparam(getpid(), ¶m);
|
||||||
if (ret != SH_OK) {
|
if (ret != SH_OK) {
|
||||||
goto OUT;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = ShellTaskInit(shellCB);
|
ret = ShellTaskInit(shellCB);
|
||||||
if (ret != SH_OK) {
|
if (ret != SH_OK) {
|
||||||
goto OUT;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
shellCB->shellEntryHandle = pthread_self();
|
shellCB->shellEntryHandle = pthread_self();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
OUT:
|
|
||||||
ShellDeinit(shellCB);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int DoShellExec(char **argv)
|
static int DoShellExec(char **argv)
|
||||||
|
@ -148,7 +144,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
shellCB = (ShellCB *)malloc(sizeof(ShellCB));
|
shellCB = (ShellCB *)malloc(sizeof(ShellCB));
|
||||||
if (shellCB == NULL) {
|
if (shellCB == NULL) {
|
||||||
goto ERR_OUT1;
|
return SH_NOK;
|
||||||
}
|
}
|
||||||
ret = memset_s(shellCB, sizeof(ShellCB), 0, sizeof(ShellCB));
|
ret = memset_s(shellCB, sizeof(ShellCB), 0, sizeof(ShellCB));
|
||||||
if (ret != SH_OK) {
|
if (ret != SH_OK) {
|
||||||
|
@ -176,7 +172,9 @@ int main(int argc, char **argv)
|
||||||
g_shellCB = shellCB;
|
g_shellCB = shellCB;
|
||||||
ret = OsShellCreateTask(shellCB);
|
ret = OsShellCreateTask(shellCB);
|
||||||
if (ret != SH_OK) {
|
if (ret != SH_OK) {
|
||||||
goto ERR_OUT3;
|
ShellDeinit(shellCB);
|
||||||
|
g_shellCB = NULL;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShellEntry(shellCB);
|
ShellEntry(shellCB);
|
||||||
|
|
|
@ -1465,7 +1465,7 @@ INT32 los_disk_init(const CHAR *diskName, const struct block_operations *bops,
|
||||||
ret = VnodeLookup(diskName, &blkDriver, 0);
|
ret = VnodeLookup(diskName, &blkDriver, 0);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
VnodeDrop();
|
VnodeDrop();
|
||||||
ret = ENOENT;
|
PRINT_ERR("disk_init : %s, failed to find the vnode, ERRNO=%d\n", diskName, ret);
|
||||||
goto DISK_FIND_ERROR;
|
goto DISK_FIND_ERROR;
|
||||||
}
|
}
|
||||||
struct block_operations *bops2 = (struct block_operations *)((struct drv_data *)blkDriver->data)->ops;
|
struct block_operations *bops2 = (struct block_operations *)((struct drv_data *)blkDriver->data)->ops;
|
||||||
|
|
|
@ -146,7 +146,6 @@ UINT32 OsKProcessPmUsage(LosVmSpace *kSpace, UINT32 *actualPm)
|
||||||
LosVmSpace *space = NULL;
|
LosVmSpace *space = NULL;
|
||||||
LOS_DL_LIST *spaceList = NULL;
|
LOS_DL_LIST *spaceList = NULL;
|
||||||
UINT32 UProcessUsed = 0;
|
UINT32 UProcessUsed = 0;
|
||||||
UINT32 pmTmp;
|
|
||||||
|
|
||||||
if (actualPm == NULL) {
|
if (actualPm == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -167,8 +166,7 @@ UINT32 OsKProcessPmUsage(LosVmSpace *kSpace, UINT32 *actualPm)
|
||||||
if (space == LOS_GetKVmSpace()) {
|
if (space == LOS_GetKVmSpace()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
(VOID)OsUProcessPmUsage(space, NULL, &pmTmp);
|
UProcessUsed += OsUProcessPmUsage(space, NULL, NULL);
|
||||||
UProcessUsed += pmTmp;
|
|
||||||
}
|
}
|
||||||
(VOID)LOS_MuxRelease(vmSpaceListMux);
|
(VOID)LOS_MuxRelease(vmSpaceListMux);
|
||||||
|
|
||||||
|
|
|
@ -233,14 +233,8 @@ static int HiLogWriteRingBuffer(unsigned char *buffer, size_t bufLen)
|
||||||
|
|
||||||
static void HiLogHeadInit(struct HiLogEntry *header, size_t len)
|
static void HiLogHeadInit(struct HiLogEntry *header, size_t len)
|
||||||
{
|
{
|
||||||
struct timespec now;
|
struct timespec now = {0};
|
||||||
int ret;
|
(void)clock_gettime(CLOCK_REALTIME, &now);
|
||||||
|
|
||||||
ret = clock_gettime(CLOCK_REALTIME, &now);
|
|
||||||
if (ret != 0) {
|
|
||||||
PRINTK("In %s line %d,clock_gettime fail\n", __FUNCTION__, __LINE__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
header->len = len;
|
header->len = len;
|
||||||
header->pid = LOS_GetCurrProcessID();
|
header->pid = LOS_GetCurrProcessID();
|
||||||
|
|
|
@ -2175,8 +2175,6 @@ u32_t osShellPing6(int argc, const char **argv)
|
||||||
/* Setting the start time of the entire ping task for statistics */
|
/* Setting the start time of the entire ping task for statistics */
|
||||||
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &first);
|
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &first);
|
||||||
|
|
||||||
nsent = 0;
|
|
||||||
|
|
||||||
for (nsent = 0; nsent < ping6_params.pingcount; nsent++) {
|
for (nsent = 0; nsent < ping6_params.pingcount; nsent++) {
|
||||||
/* capture the start tick to calculate rtt */
|
/* capture the start tick to calculate rtt */
|
||||||
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &start);
|
(void)clock_gettime(CLOCK_MONOTONIC_RAW, &start);
|
||||||
|
@ -3170,7 +3168,6 @@ void netstat_internal(void *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For listen PCBs */
|
/* For listen PCBs */
|
||||||
recvQlen = 0;
|
|
||||||
sendQlen = 0;
|
sendQlen = 0;
|
||||||
|
|
||||||
for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {
|
for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {
|
||||||
|
@ -3670,7 +3667,7 @@ u32_t netdebug_sock(int argc, const char **argv)
|
||||||
int idx;
|
int idx;
|
||||||
u32_t ret = LOS_NOK;
|
u32_t ret = LOS_NOK;
|
||||||
|
|
||||||
if (argc == 2) {
|
if (argc == 2) { /* 2: Number of command parameters */
|
||||||
if (!strcmp("-i", argv[1])) {
|
if (!strcmp("-i", argv[1])) {
|
||||||
/* netdebug sock -i */
|
/* netdebug sock -i */
|
||||||
for (idx = 0; idx < (int)LWIP_CONFIG_NUM_SOCKETS; idx++) {
|
for (idx = 0; idx < (int)LWIP_CONFIG_NUM_SOCKETS; idx++) {
|
||||||
|
@ -3678,10 +3675,9 @@ u32_t netdebug_sock(int argc, const char **argv)
|
||||||
}
|
}
|
||||||
ret = LOS_OK;
|
ret = LOS_OK;
|
||||||
}
|
}
|
||||||
} else if (argc == 3) {
|
} else if (argc == 3) { /* 3: Number of command parameters */
|
||||||
if (!strcmp("-d", argv[1])) {
|
if (!strcmp("-d", argv[1])) {
|
||||||
/* netdebug sock -d <idx> */
|
idx = atoi(argv[2]); /* 2: netdebug sock -d <idx> */
|
||||||
idx = atoi(argv[2]);
|
|
||||||
if (idx >= 0) {
|
if (idx >= 0) {
|
||||||
debug_socket_info(idx, 1, 1);
|
debug_socket_info(idx, 1, 1);
|
||||||
ret = LOS_OK;
|
ret = LOS_OK;
|
||||||
|
|
Loading…
Reference in New Issue