Usermode/libc - Fixed DIV0 in fread/fopen
authorJohn Hodge <[email protected]>
Sat, 9 Feb 2013 11:56:55 +0000 (19:56 +0800)
committerJohn Hodge <[email protected]>
Sat, 9 Feb 2013 11:56:55 +0000 (19:56 +0800)
Usermode/Libraries/libc.so_src/stdio.c

index a85bb59..c2b405c 100644 (file)
@@ -264,6 +264,8 @@ EXPORT size_t fwrite(const void *ptr, size_t size, size_t num, FILE *fp)
        \r
        if(!fp || fp->FD == -1)\r
                return -1;\r
+       if( size == 0 || num == 0 )\r
+               return 0;\r
 \r
        if( fp->FD == -2 ) {\r
                size_t  avail = (fp->BufferSize - fp->Pos) / size;\r
@@ -293,6 +295,8 @@ EXPORT size_t fread(void *ptr, size_t size, size_t num, FILE *fp)
        \r
        if(!fp || fp->FD == -1)\r
                return -1;\r
+       if( size == 0 || num == 0 )\r
+               return 0;\r
 \r
        if( fp->FD == -2 ) {\r
                size_t  avail = (fp->BufferSize - fp->Pos) / size;\r

UCC git Repository :: git.ucc.asn.au