| Anonymous | Login | Signup for a new account | 11-10-2008 11:05 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 | ||||
| 0001012 | [uClibc] Other | major | always | 08-30-06 07:27 | 09-15-07 02:24 | ||||
| Reporter | moschny | View Status | public | ||||||
| Assigned To | uClibc | ||||||||
| Priority | normal | Resolution | fixed | ||||||
| Status | closed | Product Version | 0.9.28 | ||||||
| Summary | 0001012: readdir_r returns previous errno | ||||||||
| Description |
When errno is set to a value!=0, readdir_r() will return the value of errno as the error value after reading all directory entries. The relevant code part is this (libc/misc/dirent/readdir_r.c): //... bytes = __getdents(dir->dd_fd, dir->dd_buf, dir->dd_max); if (bytes <= 0) { *result = NULL; ret = errno; goto all_done; } // ... If bytes==0, ret should be set to zero and not the (old, and unchanged by __getdents) errno value. If bytes<0, errno as set by __getdents can be returned. |
||||||||
| Additional Information | |||||||||
| Attached Files |
|
||||||||
|
|
|||||||||
| Copyright © 2000 - 2006 Mantis Group |