Skip to content

Commit 87d717c

Browse files
authored
Merge pull request #18 from flightaware/prevailingVisBuffer
check buffer sizes before copying in prevailingVisibility
2 parents 4b244d1 + f56445b commit 87d717c

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/decode_metar.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,9 @@ static float prevailingVisibility( char *visibility, int smNoUnits )
10091009
memset(numerator, '\0', sizeof(numerator));
10101010
memset(denominator, '\0', sizeof(denominator));
10111011

1012-
1012+
if (Slash_ptr - visibility >= sizeof(numerator)) {
1013+
return 0;
1014+
}
10131015
strncpy(numerator, visibility, (Slash_ptr - visibility));
10141016

10151017
/*>>>>>>>>>>>>>>>>>>>>>>
@@ -1018,6 +1020,9 @@ static float prevailingVisibility( char *visibility, int smNoUnits )
10181020
else
10191021
<<<<<<<<<<<<<<<<<<<<<<*/
10201022
end = (SM_KM_ptr == NULL ? visibility + strlen(visibility) : SM_KM_ptr);
1023+
if (end - Slash_ptr >= sizeof(denominator)) {
1024+
return 0;
1025+
}
10211026
strncpy(denominator,
10221027
Slash_ptr+1, (end - Slash_ptr));
10231028

0 commit comments

Comments
 (0)