diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-04-16 17:19:12 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-04-23 09:22:51 +0100 |
commit | 1ae2ddc1dd4c90d50b8c57c4de677f8ab96b1fa2 (patch) | |
tree | 3be2da997e6f7da5df94472e0c700bb5abe00086 /src/cairo-misc.c | |
parent | 817589e1967ebdd5e5bda1781eb76010fd8c37dc (diff) | |
download | cairo-1ae2ddc1dd4c90d50b8c57c4de677f8ab96b1fa2.tar.gz |
[memfault] Manually inject faults when using stack allocations
Ensure that no assumptions are made that a small allocation will succeed
by manually injecting faults when we may be simply allocating from an
embedded memory pool.
The main advantage in manual fault injection is improved code coverage -
from within the test suite most allocations are handled by the embedded
memory pools.
Diffstat (limited to 'src/cairo-misc.c')
-rw-r--r-- | src/cairo-misc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-misc.c b/src/cairo-misc.c index aaf849b97..d4b10e1c4 100644 --- a/src/cairo-misc.c +++ b/src/cairo-misc.c @@ -704,6 +704,9 @@ _cairo_intern_string (const char **str_inout, int len) cairo_intern_string_t tmpl, *istring; cairo_status_t status = CAIRO_STATUS_SUCCESS; + if (CAIRO_INJECT_FAULT ()) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + if (len < 0) len = strlen (str); tmpl.hash_entry.hash = _intern_string_hash (str, len); |