Fix read_lang() crash on malformed language file #1681
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found by: michaelortmann
Patch by: michaelortmann
Fixes:
One-line summary:
Fix read_lang() crash on malformed language file
Additional description (if needed):
eggdrop crashes on malformed (missing
,
) language fileExample:
Edit
language/core.english.lang
Change (remove
,
)0x132,inactive
Into
0x132inactive
While fixing the parser to not crash, memory allocation also got optimized.
Before:
After:
Test cases demonstrating functionality (if applicable):
The new code has been battletested with lowering initial
read_lang()
char lbuf[256];
size of 256 to make it grow theltext
buffer withrealloc()
.