libbb: new function bb_die_memory_exhausted
No binary (build failed)
—
(log yok)
| @@ -37,7 +37,7 @@ static const char *const tar_var[] = { | |
| static void xputenv(char *str) | |
| { | |
| if (putenv(str)) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| } | |
| static void str2env(char *env[], int idx, const char *str) | |
| @@ -1277,20 +1277,21 @@ extern smallint syslog_level; | |
| extern smallint logmode; | |
| extern uint8_t xfunc_error_retval; | |
| extern void (*die_func)(void); | |
| - | extern void xfunc_die(void) NORETURN FAST_FUNC; |
| - | extern void bb_show_usage(void) NORETURN FAST_FUNC; |
| - | extern void bb_error_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_error_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_perror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_simple_perror_msg(const char *s) FAST_FUNC; |
| - | extern void bb_perror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_simple_perror_msg_and_die(const char *s) NORETURN FAST_FUNC; |
| - | extern void bb_herror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_herror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| - | extern void bb_perror_nomsg_and_die(void) NORETURN FAST_FUNC; |
| - | extern void bb_perror_nomsg(void) FAST_FUNC; |
| - | extern void bb_verror_msg(const char *s, va_list p, const char *strerr) FAST_FUNC; |
| - | extern void bb_logenv_override(void) FAST_FUNC; |
| + | void xfunc_die(void) NORETURN FAST_FUNC; |
| + | void bb_show_usage(void) NORETURN FAST_FUNC; |
| + | void bb_error_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_error_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_perror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_simple_perror_msg(const char *s) FAST_FUNC; |
| + | void bb_perror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_simple_perror_msg_and_die(const char *s) NORETURN FAST_FUNC; |
| + | void bb_herror_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_herror_msg_and_die(const char *s, ...) __attribute__ ((noreturn, format (printf, 1, 2))) FAST_FUNC; |
| + | void bb_perror_nomsg_and_die(void) NORETURN FAST_FUNC; |
| + | void bb_perror_nomsg(void) FAST_FUNC; |
| + | void bb_verror_msg(const char *s, va_list p, const char *strerr) FAST_FUNC; |
| + | void bb_die_memory_exhausted(void) NORETURN FAST_FUNC; |
| + | void bb_logenv_override(void) FAST_FUNC; |
| /* We need to export XXX_main from libbusybox | |
| * only if we build "individual" binaries | |
| @@ -20,7 +20,7 @@ char* FAST_FUNC bb_get_chunk_from_file(FILE *file, size_t *end) | |
| /* grow the line buffer as necessary */ | |
| if (!(idx & 0xff)) { | |
| if (idx == ((size_t)-1) - 0xff) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| linebuf = xrealloc(linebuf, idx + 0x100); | |
| } | |
| linebuf[idx++] = (char) ch; | |
| @@ -42,7 +42,7 @@ static FILE* xfdopen_helper(unsigned fd_and_rw_bit) | |
| { | |
| FILE* fp = fdopen(fd_and_rw_bit >> 1, fd_and_rw_bit & 1 ? "w" : "r"); | |
| if (!fp) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return fp; | |
| } | |
| FILE* FAST_FUNC xfdopen_for_read(int fd) | |
| @@ -25,6 +25,11 @@ | |
| * fail, so callers never need to check for errors. If it returned, it | |
| * succeeded. */ | |
| + | void FAST_FUNC bb_die_memory_exhausted(void) |
| + | { |
| + | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | } |
| + | |
| #ifndef DMALLOC | |
| /* dmalloc provides variants of these that do abort() on failure. | |
| * Since dmalloc's prototypes overwrite the impls here as they are | |
| @@ -44,7 +49,7 @@ void* FAST_FUNC xmalloc(size_t size) | |
| { | |
| void *ptr = malloc(size); | |
| if (ptr == NULL && size != 0) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return ptr; | |
| } | |
| @@ -55,7 +60,7 @@ void* FAST_FUNC xrealloc(void *ptr, size_t size) | |
| { | |
| ptr = realloc(ptr, size); | |
| if (ptr == NULL && size != 0) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return ptr; | |
| } | |
| #endif /* DMALLOC */ | |
| @@ -79,7 +84,7 @@ char* FAST_FUNC xstrdup(const char *s) | |
| t = strdup(s); | |
| if (t == NULL) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return t; | |
| } | |
| @@ -327,14 +332,14 @@ char* FAST_FUNC xasprintf(const char *format, ...) | |
| va_end(p); | |
| if (r < 0) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return string_ptr; | |
| } | |
| void FAST_FUNC xsetenv(const char *key, const char *value) | |
| { | |
| if (setenv(key, value, 1)) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| } | |
| /* Handles "VAR=VAL" strings, even those which are part of environ | |
| @@ -409,7 +409,7 @@ static FILE *open_socket(len_and_sockaddr *lsa) | |
| /* hopefully it understands what ESPIPE means... */ | |
| fp = fdopen(fd, "r+"); | |
| if (!fp) | |
| - | bb_perror_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| return fp; | |
| } | |
| @@ -1114,7 +1114,7 @@ static void download_one_url(const char *url) | |
| # endif | |
| sfp = fdopen(fd, "r+"); | |
| if (!sfp) | |
| - | bb_perror_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| goto socket_opened; | |
| } | |
| sfp = open_socket(lsa); | |
| @@ -3158,7 +3158,7 @@ static int glob_brace(char *pattern, o_string *o, int n) | |
| return o_save_ptr_helper(o, n); | |
| } | |
| if (gr == GLOB_NOSPACE) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| /* GLOB_ABORTED? Only happens with GLOB_ERR flag, | |
| * but we didn't specify it. Paranoia again. */ | |
| bb_error_msg_and_die("glob error %d on '%s'", gr, pattern); | |
| @@ -3260,7 +3260,7 @@ static int perform_glob(o_string *o, int n) | |
| goto literal; | |
| } | |
| if (gr == GLOB_NOSPACE) | |
| - | bb_error_msg_and_die(bb_msg_memory_exhausted); |
| + | bb_die_memory_exhausted(); |
| /* GLOB_ABORTED? Only happens with GLOB_ERR flag, | |
| * but we didn't specify it. Paranoia again. */ | |
| bb_error_msg_and_die("glob error %d on '%s'", gr, pattern); | |