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
463bd7c3
Commit
463bd7c3
authored
Mar 23, 2023
by
Paul Gofman
Committed by
Alexandre Julliard
Mar 24, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
crypt32: Refactor read_trusted_roots_from_known_locations().
parent
330d6ab8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
16 deletions
+17
-16
rootstore.c
dlls/crypt32/rootstore.c
+17
-16
No files found.
dlls/crypt32/rootstore.c
View file @
463bd7c3
...
...
@@ -614,29 +614,30 @@ static void add_ms_root_certs(HCERTSTORE to)
*/
static
void
read_trusted_roots_from_known_locations
(
HCERTSTORE
store
)
{
HCERTSTORE
from
=
CertOpenStore
(
CERT_STORE_PROV_MEMORY
,
X509_ASN_ENCODING
,
0
,
CERT_STORE_CREATE_NEW_FLAG
,
NULL
);
HCERTSTORE
new
;
DWORD
needed
;
struct
enum_root_certs_params
params
=
{
NULL
,
2048
,
&
needed
};
if
(
from
)
new
=
CertOpenStore
(
CERT_STORE_PROV_MEMORY
,
X509_ASN_ENCODING
,
0
,
CERT_STORE_CREATE_NEW_FLAG
,
NULL
);
if
(
!
new
)
return
;
params
.
buffer
=
CryptMemAlloc
(
params
.
size
);
while
(
!
CRYPT32_CALL
(
enum_root_certs
,
&
params
))
{
params
.
buffer
=
CryptMemAlloc
(
params
.
size
);
while
(
!
CRYPT32_CALL
(
enum_root_certs
,
&
params
))
if
(
needed
>
params
.
size
)
{
if
(
needed
>
params
.
size
)
{
CryptMemFree
(
params
.
buffer
);
params
.
buffer
=
CryptMemAlloc
(
needed
);
params
.
size
=
needed
;
}
else
CertAddEncodedCertificateToStore
(
from
,
X509_ASN_ENCODING
,
params
.
buffer
,
needed
,
CERT_STORE_ADD_NEW
,
NULL
);
CryptMemFree
(
params
.
buffer
);
params
.
buffer
=
CryptMemAlloc
(
needed
);
params
.
size
=
needed
;
continue
;
}
C
ryptMemFree
(
params
.
buffer
);
check_and_store_certs
(
from
,
store
);
C
ertAddEncodedCertificateToStore
(
new
,
X509_ASN_ENCODING
,
params
.
buffer
,
needed
,
CERT_STORE_ADD_NEW
,
NULL
);
}
CertCloseStore
(
from
,
0
);
CryptMemFree
(
params
.
buffer
);
check_and_store_certs
(
new
,
store
);
CertCloseStore
(
new
,
0
);
}
static
HCERTSTORE
create_root_store
(
void
)
...
...
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