diff options
author | Mattias Andrée <maandree@kth.se> | 2019-04-13 00:48:10 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2019-04-13 00:48:10 +0200 |
commit | b1e498418e51ee1b22be7e85c5d29e3f31cae9c8 (patch) | |
tree | 64668c549d2d0d944c133aaeb6d0afff5919dc48 | |
parent | Fix makefile (diff) | |
download | liberror-libc-b1e498418e51ee1b22be7e85c5d29e3f31cae9c8.tar.gz liberror-libc-b1e498418e51ee1b22be7e85c5d29e3f31cae9c8.tar.bz2 liberror-libc-b1e498418e51ee1b22be7e85c5d29e3f31cae9c8.tar.xz |
Prefetch backtrace so that it does not contain functions used to set the error
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r-- | abs.c | 1 | ||||
-rw-r--r-- | imaxabs.c | 1 | ||||
-rw-r--r-- | labs.c | 1 | ||||
-rw-r--r-- | llabs.c | 1 | ||||
-rw-r--r-- | pipe.c | 1 | ||||
-rw-r--r-- | putenv.c | 1 | ||||
-rw-r--r-- | set_error_one_file.c | 1 | ||||
-rw-r--r-- | setenv.c | 1 | ||||
-rw-r--r-- | shutdown.c | 1 | ||||
-rw-r--r-- | unsetenv.c | 1 |
10 files changed, 10 insertions, 0 deletions
@@ -10,6 +10,7 @@ liberror_abs(int i) #else if (i != INT_MIN) return abs(i); + liberror_save_backtrace(NULL); liberror_set_error_errno("The absolute value of largest negative integer " "cannot be represented as a signed integer", "abs", EOVERFLOW); @@ -10,6 +10,7 @@ liberror_imaxabs(intmax_t i) #else if (i != INTMAX_MIN) return imaxabs(i); + liberror_save_backtrace(NULL); liberror_set_error_errno("The absolute value of largest negative integer " "cannot be represented as a signed integer", "imaxabs", EOVERFLOW); @@ -10,6 +10,7 @@ liberror_labs(long int i) #else if (i != LONG_MIN) return labs(i); + liberror_save_backtrace(NULL); liberror_set_error_errno("The absolute value of largest negative integer " "cannot be represented as a signed integer", "labs", EOVERFLOW); @@ -10,6 +10,7 @@ liberror_llabs(long long int i) #else if (i != LLONG_MIN) return llabs(i); + liberror_save_backtrace(NULL); liberror_set_error_errno("The absolute value of largest negative integer " "cannot be represented as a signed integer", "llabs", EOVERFLOW); @@ -27,6 +27,7 @@ liberror_pipe(int fds[2]) break; } error: + liberror_save_backtrace(NULL); liberror_set_error_errno(desc, "pipe", errno); return -1; } @@ -22,6 +22,7 @@ liberror_putenv(char *string) return 0; } error: + liberror_save_backtrace(NULL); liberror_set_error_errno(desc, "putenv", errno); return -1; } diff --git a/set_error_one_file.c b/set_error_one_file.c index f8061f8..b9b46d1 100644 --- a/set_error_one_file.c +++ b/set_error_one_file.c @@ -7,6 +7,7 @@ liberror_libc_set_error_one_file(const char desc[256], const char source[64], co { struct liberror_error *error; int saved_errno = errno; + liberror_save_backtrace(NULL); liberror_set_error_errno(desc, source, saved_errno); error = liberror_get_error(); error->details_type = LIBERROR_DETAILS_ONE_FILE; @@ -25,6 +25,7 @@ liberror_setenv(const char *envname, const char *envval, int overwrite) desc = "Environment variable name contains the '=' character"; } error: + liberror_save_backtrace(NULL); liberror_set_error_errno(desc, "setenv", errno); return -1; } @@ -28,6 +28,7 @@ liberror_shutdown(int fd, int how, const char *fname) desc = ""; break; } + liberror_save_backtrace(NULL); liberror_libc_set_error_one_file(desc, "shutdown", "Socket file", fd, fname); return -1; } @@ -18,6 +18,7 @@ liberror_unsetenv(const char *name) desc = "Environment variable name contains the '=' character"; } error: + liberror_save_backtrace(NULL); liberror_set_error_errno(desc, "setenv", errno); return -1; } |