| Summary: | Segfaults on large number of workspaces | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Sir Raorn <raorn> |
| Component: | WindowMaker | Assignee: | vkni <vkni> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | major | ||
| Priority: | P2 | CC: | mike, vkni |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
0.92.0-alt4 |
Будучи собранным со stack protector'ом падает при использовании 9-и рабочих столов: void SendHelperMessage(WScreen *scr, char type, int workspace, char *msg) { char *buffer; int len; int i; char buf[16]; if (!scr->flags.backimage_helper_launched) { return; } len = (msg ? strlen(msg) : 0) + (workspace >=0 ? 4 : 0) + 1 ; buffer = wmalloc(len+5); snprintf(buf, len, "%4i", len); memcpy(buffer, buf, 4); Дохнет на sptintf, птому как len получается больше sizeof(buf).