_sbrk(): Return -1 rather than aborting if too much memory is requested.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | ||||
| 2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com> | ||||
|  | ||||
| 	* libc/sys/arm/syscalls.c (_sbrk): Return -1 rather than aborting | ||||
| 	if too much memory is requested. | ||||
|  | ||||
| 2002-01-11 Jeff Johnston  <jjohnstn@redhat.com> | ||||
|  | ||||
| 	* libc/stdio/vfscanf.c (__svfscanf_r): Change loop that | ||||
|   | ||||
| @@ -470,8 +470,6 @@ _getpid (int n) | ||||
|   n = n; | ||||
| } | ||||
|  | ||||
| extern void abort (void); | ||||
|  | ||||
| caddr_t | ||||
| _sbrk (int incr) | ||||
| { | ||||
| @@ -486,8 +484,18 @@ _sbrk (int incr) | ||||
|    | ||||
|   if (heap_end + incr > stack_ptr) | ||||
|     { | ||||
|       /* Some of the libstdc++-v3 tests rely upon detecting | ||||
| 	 out of memory errors, so do not abort here.  */ | ||||
| #if 0 | ||||
|       extern void abort (void); | ||||
|  | ||||
|       _write (1, "_sbrk: Heap and stack collision\n", 32); | ||||
|        | ||||
|       abort (); | ||||
| #else | ||||
|       errno = ENOMEM; | ||||
|       return -1; | ||||
| #endif | ||||
|     } | ||||
|    | ||||
|   heap_end += incr; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user