| Anonymous | Login | Signup for a new account | 11-10-2008 12:35 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
| 0004374 | [BusyBox] Other | minor | always | 07-27-08 23:43 | 08-19-08 17:55 | ||||
| Reporter | cristic | View Status | public | ||||||
| Assigned To | BusyBox | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | svn | ||||||
| Summary | 0004374: tr [= buffer overflow | ||||||||
| Description |
Calling tr [= triggers a buffer overflow, which causes tr to process garbage data: 53: while (*arg) { ... /* "[xyz...", i=x, arg points to y */ 136: if (ENABLE_FEATURE_TR_EQUIV && i == '=') { /* [=CHAR=] */ *buffer++ = *arg; /* copy CHAR */ arg += 3; /* skip CHAR=] */ continue; } ... When line tr.c:136 is hit, i is "=", and arg points just past the end of the original buffer. Then arg is incremented by 3, and the main loop at tr.c:53 continues processing garbage data. |
||||||||
| Additional Information | |||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |