Description of problem: Calling function times with some invalid non-NULL pointer, does not return -1 and set errno to EFAULT. Version-Release number of selected component (if applicable): 2.8 How reproducible: Compile attached C-code and run it. Steps to Reproduce: 1. Compile attached C-file with "gcc times.c -o times -Wall" 2. run ./times 3. Actual results: prints: "times: -14 errno: 0" Expected results: times: -1 errno: 14 Additional info: It seams, that the wrapper for the times-syscall passes the return value of the kernel directly to the caller instead of testing for an error.
Created attachment 308676 [details] C code to demonstrate bug.
That's because kernel returns the same return value when the argument is valid, but clock_t is -14L. rawhide glibc has more complicated wrapper that will segfault if the argument is invalid. No matter what, relying on -1/EFAULT is just wrong.