kcpuproc.cpp - prevent overflow #2

Closed
opened 6 years ago by Ghost · 2 comments
Ghost commented 6 years ago

I've run cppcheck on kcpuload, here is the error:

[kcpuproc.cpp:176]: (error) Width 32 given in format string (no. 1) is larger than destination buffer 'tagbuffer[32]', use %31s to prevent overflowing it.

Instead, I'd like to enlarge the 'tagbuffer' array by 1, but I have no ideas why the guy has set the string to 32 characters.

What do think about?

I've run cppcheck on kcpuload, here is the error: [kcpuproc.cpp:176]: (error) Width 32 given in format string (no. 1) is larger than destination buffer 'tagbuffer[32]', use %31s to prevent overflowing it. Instead, I'd like to enlarge the 'tagbuffer' array by 1, but I have no ideas why the guy has set the string to 32 characters. What do think about?
Owner

Hi Greg,

yes, increasing the tagbugger to 33 bytes is the correct solution.

Changing the sequence of reading in the fscanf may lead to unexpected results, with bytes after 32 being shifted by one. Extending tagbuffer to allow for the extra null terminator will preserve functionality and avoid mistakes.

Good work!

Hi Greg, yes, increasing the tagbugger to 33 bytes is the correct solution. Changing the sequence of reading in the fscanf may lead to unexpected results, with bytes after 32 being shifted by one. Extending tagbuffer to allow for the extra null terminator will preserve functionality and avoid mistakes. Good work!
SlavekB added this to the R14.0.6 release milestone 6 years ago
Owner

Fixed by PR #4, commit e816bb8048.

Fixed by PR #4, commit e816bb8048.
SlavekB closed this issue 6 years ago
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/kcpuload#2
Loading…
There is no content yet.