Fix panic in fread
This commit is contained in:
@@ -422,11 +422,15 @@ pub unsafe extern "C" fn fputs(s: *const c_char, stream: *mut FILE) -> c_int {
|
||||
pub unsafe extern "C" fn fread(
|
||||
ptr: *mut c_void,
|
||||
size: size_t,
|
||||
count: size_t,
|
||||
nitems: size_t,
|
||||
stream: *mut FILE,
|
||||
) -> size_t {
|
||||
if size == 0 || count == 0 {
|
||||
return 0;
|
||||
}
|
||||
|
||||
let mut stream = (*stream).lock();
|
||||
let buf = slice::from_raw_parts_mut(ptr as *mut u8, size as usize * count as usize);
|
||||
let buf = slice::from_raw_parts_mut(ptr as *mut u8, size as usize * nitems as usize);
|
||||
let mut read = 0;
|
||||
while read < buf.len() {
|
||||
match stream.read(&mut buf[read..]) {
|
||||
|
||||
Reference in New Issue
Block a user