Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
80005ee0
Commit
80005ee0
authored
Mar 31, 2020
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Use wcscat() instead of strcatW().
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
18411a19
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
32 additions
and
31 deletions
+32
-31
actctx.c
dlls/ntdll/actctx.c
+14
-14
env.c
dlls/ntdll/env.c
+3
-3
loader.c
dlls/ntdll/loader.c
+4
-4
loadorder.c
dlls/ntdll/loadorder.c
+2
-2
locale.c
dlls/ntdll/locale.c
+3
-3
ntdll_misc.h
dlls/ntdll/ntdll_misc.h
+1
-0
path.c
dlls/ntdll/path.c
+3
-3
reg.c
dlls/ntdll/reg.c
+1
-1
version.c
dlls/ntdll/version.c
+1
-1
No files found.
dlls/ntdll/actctx.c
View file @
80005ee0
...
...
@@ -1099,17 +1099,17 @@ static WCHAR *build_assembly_dir(struct assembly_identity* ai)
if
(
!
(
ret
=
RtlAllocateHeap
(
GetProcessHeap
(),
0
,
size
)))
return
NULL
;
wcscpy
(
ret
,
arch
);
strcatW
(
ret
,
undW
);
strcatW
(
ret
,
name
);
strcatW
(
ret
,
undW
);
strcatW
(
ret
,
key
);
strcatW
(
ret
,
undW
);
wcscat
(
ret
,
undW
);
wcscat
(
ret
,
name
);
wcscat
(
ret
,
undW
);
wcscat
(
ret
,
key
);
wcscat
(
ret
,
undW
);
NTDLL_swprintf
(
ret
+
strlenW
(
ret
),
version_formatW
,
ai
->
version
.
major
,
ai
->
version
.
minor
,
ai
->
version
.
build
,
ai
->
version
.
revision
);
strcatW
(
ret
,
undW
);
strcatW
(
ret
,
lang
);
strcatW
(
ret
,
undW
);
strcatW
(
ret
,
mskeyW
);
wcscat
(
ret
,
undW
);
wcscat
(
ret
,
lang
);
wcscat
(
ret
,
undW
);
wcscat
(
ret
,
mskeyW
);
return
ret
;
}
...
...
@@ -1118,7 +1118,7 @@ static inline void append_string( WCHAR *buffer, const WCHAR *prefix, const WCHA
WCHAR
*
p
=
buffer
;
if
(
!
str
)
return
;
strcatW
(
buffer
,
prefix
);
wcscat
(
buffer
,
prefix
);
p
+=
strlenW
(
p
);
*
p
++
=
'"'
;
wcscpy
(
p
,
str
);
...
...
@@ -3062,7 +3062,7 @@ static NTSTATUS get_manifest_in_associated_manifest( struct actctx_loader* acl,
if
(
!
(
status
=
get_module_filename
(
module
,
&
name
,
sizeof
(
dotManifestW
)
+
10
*
sizeof
(
WCHAR
)
)))
{
if
(
resid
!=
1
)
NTDLL_swprintf
(
name
.
Buffer
+
strlenW
(
name
.
Buffer
),
fmtW
,
resid
);
strcatW
(
name
.
Buffer
,
dotManifestW
);
wcscat
(
name
.
Buffer
,
dotManifestW
);
if
(
!
RtlDosPathNameToNtPathName_U
(
name
.
Buffer
,
&
nameW
,
NULL
,
NULL
))
status
=
STATUS_RESOURCE_DATA_NOT_FOUND
;
RtlFreeUnicodeString
(
&
name
);
...
...
@@ -3076,7 +3076,7 @@ static NTSTATUS get_manifest_in_associated_manifest( struct actctx_loader* acl,
return
STATUS_NO_MEMORY
;
wcscpy
(
buffer
,
filename
);
if
(
resid
!=
1
)
NTDLL_swprintf
(
buffer
+
strlenW
(
buffer
),
fmtW
,
resid
);
strcatW
(
buffer
,
dotManifestW
);
wcscat
(
buffer
,
dotManifestW
);
RtlInitUnicodeString
(
&
nameW
,
buffer
);
}
...
...
@@ -3700,8 +3700,8 @@ static NTSTATUS build_wndclass_section(ACTIVATION_CONTEXT* actctx, struct strsec
if
(
entity
->
u
.
class
.
versioned
)
{
get_assembly_version
(
assembly
,
ptrW
);
strcatW
(
ptrW
,
exclW
);
strcatW
(
ptrW
,
entity
->
u
.
class
.
name
);
wcscat
(
ptrW
,
exclW
);
wcscat
(
ptrW
,
entity
->
u
.
class
.
name
);
}
else
{
...
...
dlls/ntdll/env.c
View file @
80005ee0
...
...
@@ -689,7 +689,7 @@ static void get_image_path( const char *argv0, UNICODE_STRING *path )
if
(
RtlDoesFileExists_U
(
full_name
))
goto
done
;
if
(
len
<
(
MAX_PATH
-
4
)
*
sizeof
(
WCHAR
)
&&
!
strchrW
(
file_part
,
'.'
))
{
strcatW
(
file_part
,
exeW
);
wcscat
(
file_part
,
exeW
);
if
(
RtlDoesFileExists_U
(
full_name
))
goto
done
;
}
/* check for builtin path inside system directory */
...
...
@@ -710,8 +710,8 @@ static void get_image_path( const char *argv0, UNICODE_STRING *path )
len
=
strlenW
(
system_dir
);
if
(
strlenW
(
name
)
>=
MAX_PATH
-
4
-
len
)
goto
failed
;
wcscpy
(
full_name
,
system_dir
);
strcatW
(
full_name
,
name
);
if
(
!
strchrW
(
name
,
'.'
))
strcatW
(
full_name
,
exeW
);
wcscat
(
full_name
,
name
);
if
(
!
strchrW
(
name
,
'.'
))
wcscat
(
full_name
,
exeW
);
}
}
done:
...
...
dlls/ntdll/loader.c
View file @
80005ee0
...
...
@@ -1775,8 +1775,8 @@ static BOOL get_builtin_fullname( UNICODE_STRING *nt_name, const UNICODE_STRING
(
strlenW
(
system_dir
)
+
len
+
5
)
*
sizeof
(
WCHAR
)
)))
return
FALSE
;
wcscpy
(
fullname
,
nt_prefixW
);
strcatW
(
fullname
,
system_dir
);
strcatW
(
fullname
,
filenameW
);
wcscat
(
fullname
,
system_dir
);
wcscat
(
fullname
,
filenameW
);
done:
RtlInitUnicodeString
(
nt_name
,
fullname
);
return
TRUE
;
...
...
@@ -2860,7 +2860,7 @@ static NTSTATUS search_dll_file( LPCWSTR paths, LPCWSTR search, UNICODE_STRING *
{
/* not found, return file in the system dir to be loaded as builtin */
wcscpy
(
name
,
system_dir
);
strcatW
(
name
,
search
);
wcscat
(
name
,
search
);
if
(
!
RtlDosPathNameToNtPathName_U
(
name
,
nt_name
,
NULL
,
NULL
))
status
=
STATUS_NO_MEMORY
;
}
else
status
=
STATUS_IMAGE_MACHINE_TYPE_MISMATCH
;
...
...
@@ -2896,7 +2896,7 @@ static NTSTATUS find_dll_file( const WCHAR *load_path, const WCHAR *libname, con
(
strlenW
(
libname
)
+
strlenW
(
default_ext
)
+
1
)
*
sizeof
(
WCHAR
))))
return
STATUS_NO_MEMORY
;
wcscpy
(
dllname
,
libname
);
strcatW
(
dllname
,
default_ext
);
wcscat
(
dllname
,
default_ext
);
libname
=
dllname
;
}
}
...
...
dlls/ntdll/loadorder.c
View file @
80005ee0
...
...
@@ -344,8 +344,8 @@ static HANDLE get_app_key( const WCHAR *app_name )
strlenW
(
app_name
)
*
sizeof
(
WCHAR
)
);
if
(
!
str
)
return
0
;
wcscpy
(
str
,
AppDefaultsW
);
strcatW
(
str
,
app_name
);
strcatW
(
str
,
DllOverridesW
);
wcscat
(
str
,
app_name
);
wcscat
(
str
,
DllOverridesW
);
RtlOpenCurrentUser
(
KEY_ALL_ACCESS
,
&
root
);
attr
.
Length
=
sizeof
(
attr
);
...
...
dlls/ntdll/locale.c
View file @
80005ee0
...
...
@@ -679,8 +679,8 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
return
STATUS_NO_MEMORY
;
if
(
!
RtlQueryEnvironmentVariable_U
(
NULL
,
&
nameW
,
&
valueW
))
{
strcatW
(
valueW
.
Buffer
,
dataprefixW
);
strcatW
(
valueW
.
Buffer
,
name
);
wcscat
(
valueW
.
Buffer
,
dataprefixW
);
wcscat
(
valueW
.
Buffer
,
name
);
valueW
.
Length
=
strlenW
(
valueW
.
Buffer
)
*
sizeof
(
WCHAR
);
InitializeObjectAttributes
(
&
attr
,
&
valueW
,
0
,
0
,
NULL
);
status
=
NtOpenFile
(
file
,
GENERIC_READ
,
&
attr
,
&
io
,
FILE_SHARE_READ
,
FILE_SYNCHRONOUS_IO_ALERT
);
...
...
@@ -877,7 +877,7 @@ static LCID unix_locale_to_lcid( const char *unix_name )
wcscpy
(
win_name
,
buffer
);
if
(
modifier
)
{
if
(
!
strcmpW
(
modifier
,
latinW
))
strcatW
(
win_name
,
latnW
);
if
(
!
strcmpW
(
modifier
,
latinW
))
wcscat
(
win_name
,
latnW
);
else
if
(
!
strcmpW
(
modifier
,
euroW
))
{}
/* ignore */
else
return
0
;
}
...
...
dlls/ntdll/ntdll_misc.h
View file @
80005ee0
...
...
@@ -303,6 +303,7 @@ int WINAPIV NTDLL_swprintf( WCHAR *str, const WCHAR *format, ... );
#define wcslwr(s) NTDLL__wcslwr(s)
#define wcsupr(s) NTDLL__wcsupr(s)
#define wcscpy(d,s) NTDLL_wcscpy(d,s)
#define wcscat(d,s) NTDLL_wcscat(d,s)
#define wcstoul(s,e,b) NTDLL_wcstoul(s,e,b)
/* convert from straight ASCII to Unicode without depending on the current codepage */
...
...
dlls/ntdll/path.c
View file @
80005ee0
...
...
@@ -399,7 +399,7 @@ NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus(const WCHAR *dos_path, U
{
case
UNC_PATH
:
/* \\foo */
offset
=
2
;
strcatW
(
ntpath
->
Buffer
,
UncPfxW
);
wcscat
(
ntpath
->
Buffer
,
UncPfxW
);
break
;
case
DEVICE_PATH
:
/* \\.\foo */
offset
=
4
;
...
...
@@ -409,7 +409,7 @@ NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus(const WCHAR *dos_path, U
break
;
}
strcatW
(
ntpath
->
Buffer
,
ptr
+
offset
);
wcscat
(
ntpath
->
Buffer
,
ptr
+
offset
);
ntpath
->
Length
=
strlenW
(
ntpath
->
Buffer
)
*
sizeof
(
WCHAR
);
if
(
file_part
&&
*
file_part
)
...
...
@@ -514,7 +514,7 @@ ULONG WINAPI RtlDosSearchPath_U(LPCWSTR paths, LPCWSTR search, LPCWSTR ext,
/* append '\\' if none is present */
if
(
needed
>
0
&&
name
[
needed
-
1
]
!=
'\\'
)
name
[
needed
++
]
=
'\\'
;
wcscpy
(
&
name
[
needed
],
search
);
if
(
ext
)
strcatW
(
&
name
[
needed
],
ext
);
if
(
ext
)
wcscat
(
&
name
[
needed
],
ext
);
if
(
RtlDoesFileExists_U
(
name
))
{
len
=
RtlGetFullPathName_U
(
name
,
buffer_size
,
buffer
,
file_part
);
...
...
dlls/ntdll/reg.c
View file @
80005ee0
...
...
@@ -1193,7 +1193,7 @@ static NTSTATUS RTL_KeyHandleCreateObject(ULONG RelativeTo, PCWSTR Path, POBJECT
return
STATUS_NO_MEMORY
;
wcscpy
(
str
->
Buffer
,
base
);
strcatW
(
str
->
Buffer
,
Path
);
wcscat
(
str
->
Buffer
,
Path
);
str
->
Length
=
len
-
sizeof
(
WCHAR
);
str
->
MaximumLength
=
len
;
InitializeObjectAttributes
(
regkey
,
str
,
OBJ_CASE_INSENSITIVE
,
NULL
,
NULL
);
...
...
dlls/ntdll/version.c
View file @
80005ee0
...
...
@@ -505,7 +505,7 @@ void version_init(void)
if
((
p
=
strrchrW
(
appname
,
'\\'
)))
appname
=
p
+
1
;
wcscpy
(
appversion
,
appdefaultsW
);
strcatW
(
appversion
,
appname
);
wcscat
(
appversion
,
appname
);
RtlInitUnicodeString
(
&
nameW
,
appversion
);
attr
.
RootDirectory
=
config_key
;
...
...
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