Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
1e49d03d
Commit
1e49d03d
authored
Mar 04, 2016
by
TerryE
Browse files
Limit file.open() names to 31 char max C string format. See #1112
parent
56843929
Changes
3
Show whitespace changes
Inline
Side-by-side
app/modules/file.c
View file @
1e49d03d
...
@@ -20,7 +20,7 @@ static int file_open( lua_State* L )
...
@@ -20,7 +20,7 @@ static int file_open( lua_State* L )
}
}
const
char
*
fname
=
luaL_checklstring
(
L
,
1
,
&
len
);
const
char
*
fname
=
luaL_checklstring
(
L
,
1
,
&
len
);
luaL_argcheck
(
L
,
len
<
=
FS_NAME_MAX_LENGTH
,
1
,
"filename
too long
"
);
luaL_argcheck
(
L
,
len
<
FS_NAME_MAX_LENGTH
&&
c_strlen
(
fname
)
==
len
,
1
,
"filename
invalid
"
);
const
char
*
mode
=
luaL_optstring
(
L
,
2
,
"r"
);
const
char
*
mode
=
luaL_optstring
(
L
,
2
,
"r"
);
...
...
app/spiffs/spiffs_hydrogen.c
View file @
1e49d03d
...
@@ -764,7 +764,8 @@ static s32_t spiffs_read_dir_v(
...
@@ -764,7 +764,8 @@ static s32_t spiffs_read_dir_v(
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
struct
spiffs_dirent
*
e
=
(
struct
spiffs_dirent
*
)
user_p
;
struct
spiffs_dirent
*
e
=
(
struct
spiffs_dirent
*
)
user_p
;
e
->
obj_id
=
obj_id
;
e
->
obj_id
=
obj_id
;
strcpy
((
char
*
)
e
->
name
,
(
char
*
)
objix_hdr
.
name
);
strncpy
((
char
*
)
e
->
name
,
(
char
*
)
objix_hdr
.
name
,
SPIFFS_OBJ_NAME_LEN
);
e
->
type
=
objix_hdr
.
type
;
e
->
type
=
objix_hdr
.
type
;
e
->
size
=
objix_hdr
.
size
==
SPIFFS_UNDEFINED_LEN
?
0
:
objix_hdr
.
size
;
e
->
size
=
objix_hdr
.
size
==
SPIFFS_UNDEFINED_LEN
?
0
:
objix_hdr
.
size
;
e
->
pix
=
pix
;
e
->
pix
=
pix
;
...
...
app/spiffs/spiffs_nucleus.c
View file @
1e49d03d
...
@@ -1349,7 +1349,7 @@ static s32_t spiffs_object_find_object_index_header_by_name_v(
...
@@ -1349,7 +1349,7 @@ static s32_t spiffs_object_find_object_index_header_by_name_v(
if
(
objix_hdr
.
p_hdr
.
span_ix
==
0
&&
if
(
objix_hdr
.
p_hdr
.
span_ix
==
0
&&
(
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_IXDELE
))
==
(
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_IXDELE
))
==
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
if
(
strcmp
((
char
*
)
user_p
,
(
char
*
)
objix_hdr
.
name
)
==
0
)
{
if
(
str
n
cmp
((
char
*
)
user_p
,
(
char
*
)
objix_hdr
.
name
,
SPIFFS_OBJ_NAME_LEN
)
==
0
)
{
return
SPIFFS_OK
;
return
SPIFFS_OK
;
}
}
}
}
...
@@ -1715,7 +1715,7 @@ static s32_t spiffs_obj_lu_find_free_obj_id_bitmap_v(spiffs *fs, spiffs_obj_id i
...
@@ -1715,7 +1715,7 @@ static s32_t spiffs_obj_lu_find_free_obj_id_bitmap_v(spiffs *fs, spiffs_obj_id i
if
(
objix_hdr
.
p_hdr
.
span_ix
==
0
&&
if
(
objix_hdr
.
p_hdr
.
span_ix
==
0
&&
(
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_IXDELE
))
==
(
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_IXDELE
))
==
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
(
SPIFFS_PH_FLAG_DELET
|
SPIFFS_PH_FLAG_IXDELE
))
{
if
(
strcmp
((
char
*
)
user_p
,
(
char
*
)
objix_hdr
.
name
)
==
0
)
{
if
(
str
n
cmp
((
char
*
)
user_p
,
(
char
*
)
objix_hdr
.
name
,
SPIFFS_OBJ_NAME_LEN
)
==
0
)
{
return
SPIFFS_ERR_CONFLICTING_NAME
;
return
SPIFFS_ERR_CONFLICTING_NAME
;
}
}
}
}
...
@@ -1745,7 +1745,7 @@ static s32_t spiffs_obj_lu_find_free_obj_id_compact_v(spiffs *fs, spiffs_obj_id
...
@@ -1745,7 +1745,7 @@ static s32_t spiffs_obj_lu_find_free_obj_id_compact_v(spiffs *fs, spiffs_obj_id
((
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_INDEX
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_DELET
))
==
((
objix_hdr
.
p_hdr
.
flags
&
(
SPIFFS_PH_FLAG_INDEX
|
SPIFFS_PH_FLAG_FINAL
|
SPIFFS_PH_FLAG_DELET
))
==
(
SPIFFS_PH_FLAG_DELET
)))
{
(
SPIFFS_PH_FLAG_DELET
)))
{
// ok object look up entry
// ok object look up entry
if
(
state
->
conflicting_name
&&
strcmp
((
const
char
*
)
state
->
conflicting_name
,
(
char
*
)
objix_hdr
.
name
)
==
0
)
{
if
(
state
->
conflicting_name
&&
str
n
cmp
((
const
char
*
)
state
->
conflicting_name
,
(
char
*
)
objix_hdr
.
name
,
SPIFFS_OBJ_NAME_LEN
)
==
0
)
{
return
SPIFFS_ERR_CONFLICTING_NAME
;
return
SPIFFS_ERR_CONFLICTING_NAME
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment