Skip to content

Commit 6eeb4c1

Browse files
committed
[OpenMP] Fix incorrect parameters to sscanf_s call
On Windows, the documentation states that when using sscanf_s, each %c and %s specifier must also have additional size parameter. This patch adds the size parameter in the one place where %c is used. Differential Revision: https://reviews.llvm.org/D105931
1 parent 95fe61e commit 6eeb4c1

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

openmp/runtime/src/kmp_settings.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,12 @@ int __kmp_convert_to_milliseconds(char const *data) {
164164
return (INT_MAX);
165165
value = (double)0.0;
166166
mult = '\0';
167+
#if KMP_OS_WINDOWS
168+
// On Windows, each %c parameter needs additional size parameter for sscanf_s
169+
nvalues = KMP_SSCANF(data, "%lf%c%c", &value, &mult, 1, &extra, 1);
170+
#else
167171
nvalues = KMP_SSCANF(data, "%lf%c%c", &value, &mult, &extra);
172+
#endif
168173
if (nvalues < 1)
169174
return (-1);
170175
if (nvalues == 1)

0 commit comments

Comments
 (0)