commit
fe7191183e
|
@ -910,12 +910,17 @@ int LOS_Open(const char *path, int flags, ...)
|
||||||
{
|
{
|
||||||
#ifdef LOSCFG_RANDOM_DEV
|
#ifdef LOSCFG_RANDOM_DEV
|
||||||
unsigned flagMask = O_RDONLY | O_WRONLY | O_RDWR | O_APPEND | O_CREAT | O_LARGEFILE | O_TRUNC | O_EXCL | O_DIRECTORY;
|
unsigned flagMask = O_RDONLY | O_WRONLY | O_RDWR | O_APPEND | O_CREAT | O_LARGEFILE | O_TRUNC | O_EXCL | O_DIRECTORY;
|
||||||
if (((unsigned)flags & ~flagMask) || (path == NULL)) {
|
if ((unsigned)flags & ~flagMask) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return LOS_NOK;
|
return LOS_NOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t pathLen = strlen(path) + 1;
|
size_t pathLen = strlen(path) + 1;
|
||||||
|
if ((unsigned)pathLen > PATH_MAX) {
|
||||||
|
errno = EINVAL;
|
||||||
|
return LOS_NOK;
|
||||||
|
}
|
||||||
|
|
||||||
char *canonicalPath = (char *)malloc(pathLen);
|
char *canonicalPath = (char *)malloc(pathLen);
|
||||||
if (!canonicalPath) {
|
if (!canonicalPath) {
|
||||||
errno = ENOMEM;
|
errno = ENOMEM;
|
||||||
|
@ -952,7 +957,7 @@ int LOS_Open(const char *path, int flags, ...)
|
||||||
FREE_AND_SET_NULL(canonicalPath);
|
FREE_AND_SET_NULL(canonicalPath);
|
||||||
#endif
|
#endif
|
||||||
#if (LOSCFG_POSIX_PIPE_API == 1)
|
#if (LOSCFG_POSIX_PIPE_API == 1)
|
||||||
if (!strncmp(path, PIPE_DEV_PATH, strlen(PIPE_DEV_PATH))) {
|
if ((path != NULL) && !strncmp(path, PIPE_DEV_PATH, strlen(PIPE_DEV_PATH))) {
|
||||||
return PipeOpen(path, flags, PIPE_DEV_FD);
|
return PipeOpen(path, flags, PIPE_DEV_FD);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "los_memory.h"
|
#include "los_memory.h"
|
||||||
#include "los_task.h"
|
#include "los_task.h"
|
||||||
#include "los_sched.h"
|
#include "los_sched.h"
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
||||||
#if (LOSCFG_BASE_IPC_QUEUE == 1)
|
#if (LOSCFG_BASE_IPC_QUEUE == 1)
|
||||||
|
|
Loading…
Reference in New Issue