Change strdup calls to xstrdup (patch from Steve Merrifield).
No binary (build failed)
—
$ git checkout -f c8227639db90c3147ef68f33c98e96b0ab6b01d6
HEAD is now at c8227639d Change strdup calls to xstrdup (patch from Steve Merrifield).
$ git clean -fdx
Removing .menuconfig.log
Removing MCmenu0
Removing MCmenu1
Removing MCmenu2
Removing MCmenu3
Removing MCmenu4
Removing include/config/
Removing scripts/lxdialog/checklist.o
Removing scripts/lxdialog/inputbox.o
Removing scripts/lxdialog/lxdialog
Removing scripts/lxdialog/lxdialog.o
Removing scripts/lxdialog/menubox.o
Removing scripts/lxdialog/msgbox.o
Removing scripts/lxdialog/textbox.o
Removing scripts/lxdialog/util.o
Removing scripts/lxdialog/yesno.o
$ make SHELL=/bin/bash CC=/root/asi_db/compat/cc-wrapper.sh HOSTCC=/root/asi_db/compat/cc-wrapper.sh defconfig
make: *** No rule to make target 'defconfig'. Stop.
$ make SHELL=/bin/bash CC=/root/asi_db/compat/cc-wrapper.sh HOSTCC=/root/asi_db/compat/cc-wrapper.sh allnoconfig
make: *** No rule to make target 'allnoconfig'. Stop.
$ make SHELL=/bin/bash CC=/root/asi_db/compat/cc-wrapper.sh HOSTCC=/root/asi_db/compat/cc-wrapper.sh include/bb_config.h
make: *** No rule to make target 'include/bb_config.h'. Stop.
$ make SHELL=/bin/bash CC=/root/asi_db/compat/cc-wrapper.sh HOSTCC=/root/asi_db/compat/cc-wrapper.sh -j3 V=1
mkdir -p /root/asi_db/builds/busybox/_worktrees/w0/include/config
make -C scripts/lxdialog all
make[1]: Entering directory '/root/asi_db/builds/busybox/_worktrees/w0/scripts/lxdialog'
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o checklist.o checklist.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o menubox.o menubox.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o textbox.o textbox.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o yesno.o yesno.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o inputbox.o inputbox.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o util.o util.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o lxdialog.o lxdialog.c
/root/asi_db/compat/cc-wrapper.sh -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o msgbox.o msgbox.c
/root/asi_db/compat/cc-wrapper.sh -o lxdialog checklist.o menubox.o textbox.o yesno.o inputbox.o util.o lxdialog.o msgbox.o -lncurses
make[1]: Leaving directory '/root/asi_db/builds/busybox/_worktrees/w0/scripts/lxdialog'
/bin/bash scripts/Menuconfig sysdeps/linux/config.in
Using defaults found in sysdeps/linux/defconfig
Preparing scripts: functions, parsingAwk died with error code 137. Giving up.
.....done.
Your BusyBox configuration changes were NOT saved.
lxtemp.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
1 | main() {}
| ^~~~
textbox.c: In function ‘dialog_textbox’:
textbox.c:42:10: warning: variable ‘search_term’ set but not used [-Wunused-but-set-variable]
42 | char search_term[MAX_LEN + 1];
| ^~~~~~~~~~~
textbox.c: In function ‘print_line’:
textbox.c:462:12: warning: variable ‘x’ set but not used [-Wunused-but-set-variable]
462 | int y, x;
| ^
textbox.c:462:9: warning: variable ‘y’ set but not used [-Wunused-but-set-variable]
462 | int y, x;
| ^
inputbox.c: In function ‘dialog_inputbox’:
inputbox.c:107:17: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
107 | strcpy (instr, init);
| ^~~~~
| |
| unsigned char *
In file included from /usr/include/features.h:486,
from /usr/include/x86_64-linux-gnu/sys/sysmacros.h:22,
from /root/asi_db/compat/compat_stime.h:9,
from <command-line>:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
| ^~~~~
inputbox.c:109:23: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
109 | input_x = strlen (instr);
| ^~~~~
| |
| unsigned char *
In file included from dialog.h:27,
from inputbox.c:22:
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
407 | extern size_t strlen (const char *__s)
| ~~~~~~~~~~~~^~~
In file included from dialog.h:29,
from inputbox.c:22:
inputbox.c:117:26: warning: pointer targets in passing argument 2 of ‘waddnstr’ differ in signedness [-Wpointer-sign]
117 | waddstr (dialog, instr);
| ^~~~~
| |
| unsigned char *
/usr/include/curses.h:830:47: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
830 | extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* implemented */
| ^~~~~~~~~~~~
inputbox.c:147:43: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
147 | input_x = strlen (instr) - scroll;
| ^~~~~
| |
| unsigned char *
In file included from dialog.h:27,
from inputbox.c:22:
/usr/include/string.h:407:35: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
407 | extern size_t strlen (const char *__s)
| ~~~~~~~~~~~~^~~
lxdialog.c: In function ‘j_inputbox’:
lxdialog.c:211:25: warning: pointer targets in passing argument 2 of ‘fprintf’ differ in signedness [-Wpointer-sign]
211 | fprintf(stderr, dialog_input_result);
| ^~~~~~~~~~~~~~~~~~~
| |
| unsigned char *
In file included from /usr/include/stdio.h:894,
from /usr/include/curses.h:232,
from dialog.h:29,
from lxdialog.c:22:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:103:60: note: expected ‘const char * restrict’ but argument is of type ‘unsigned char *’
103 | fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
lxdialog.c:211:25: warning: format not a string literal and no format arguments [-Wformat-security]
211 | fprintf(stderr, dialog_input_result);
| ^~~~~~~~~~~~~~~~~~~
scripts/Menuconfig: line 559: 3503611 Killed awk "$1"
Error opening terminal: unknown.
| @@ -2324,7 +2324,7 @@ int bunzip2_main(int argc, char **argv) | |
| show_usage(); | |
| } | |
| src_stream = xfopen(argv[1], "r"); | |
| - | save_name = strdup(argv[1]); |
| + | save_name = xstrdup(argv[1]); |
| save_name_ptr = strrchr(save_name, '.'); | |
| if (save_name_ptr == NULL) { | |
| return(FALSE); | |
| @@ -114,7 +114,7 @@ extern int gunzip_main(int argc, char **argv) | |
| if (argv[optind] == NULL || strcmp(argv[optind], "-") == 0) { | |
| flags |= gunzip_to_stdout; | |
| } else { | |
| - | if_name = strdup(argv[optind]); |
| + | if_name = xstrdup(argv[optind]); |
| /* Open input file */ | |
| in_file = xfopen(if_name, "r"); | |
| @@ -173,7 +173,7 @@ static int index_of_next_unescaped_regexp_delim(const struct sed_cmd * const sed | |
| */ | |
| static int get_address(struct sed_cmd *sed_cmd, const char *str, int *linenum, regex_t **regex) | |
| { | |
| - | char *my_str = strdup(str); |
| + | char *my_str = xstrdup(str); |
| int idx = 0; | |
| char olddelimiter; | |
| olddelimiter = sed_cmd->delimiter; | |
| @@ -19,7 +19,7 @@ | |
| */ | |
| static const char vi_Version[] = | |
| - | "$Id: vi.c,v 1.16 2001/10/24 04:59:23 andersen Exp $"; |
| + | "$Id: vi.c,v 1.17 2001/11/12 16:57:26 kraai Exp $"; |
| /* | |
| * To compile for standalone use: | |
| @@ -385,7 +385,7 @@ extern int vi_main(int argc, char **argv) | |
| editing = 1; // 0=exit, 1=one file, 2+ =many files | |
| if (cfn != 0) | |
| free(cfn); | |
| - | cfn = (Byte *) strdup(argv[optind]); |
| + | cfn = (Byte *) xstrdup(argv[optind]); |
| edit_file(cfn); | |
| } | |
| } | |
| @@ -1085,7 +1085,7 @@ static void do_cmd(Byte c) | |
| // Stuff the last_modifying_cmd back into stdin | |
| // and let it be re-executed. | |
| if (last_modifying_cmd != 0) { | |
| - | ioq = ioq_start = (Byte *) strdup((char *) last_modifying_cmd); |
| + | ioq = ioq_start = (Byte *) xstrdup((char *) last_modifying_cmd); |
| } | |
| break; | |
| #endif /* CONFIG_FEATURE_VI_DOT_CMD */ | |
| @@ -1102,7 +1102,7 @@ static void do_cmd(Byte c) | |
| if (last_search_pattern != 0) { | |
| free(last_search_pattern); | |
| } | |
| - | last_search_pattern = (Byte *) strdup((char *) q); |
| + | last_search_pattern = (Byte *) xstrdup((char *) q); |
| goto dc3; // now find the pattern | |
| } | |
| // user changed mind and erased the "/"- do nothing | |
| @@ -1655,7 +1655,7 @@ static Byte *get_one_address(Byte * p, int *addr) // get colon addr, if present | |
| *q++ = *p; | |
| *q = '\0'; | |
| } | |
| - | pat = (Byte *) strdup((char *) buf); // save copy of pattern |
| + | pat = (Byte *) xstrdup((char *) buf); // save copy of pattern |
| if (*p == '/') | |
| p++; | |
| q = char_search(dot, pat, FORWARD, FULL); | |
| @@ -1852,7 +1852,7 @@ static void colon(Byte * buf) | |
| // There is a read-able regular file | |
| // make this the current file | |
| - | q = (Byte *) strdup((char *) fn); // save the cfn |
| + | q = (Byte *) xstrdup((char *) fn); // save the cfn |
| if (cfn != 0) | |
| free(cfn); // free the old name | |
| cfn = q; // remember new cfn | |
| @@ -1905,7 +1905,7 @@ static void colon(Byte * buf) | |
| // user wants a new filename | |
| if (cfn != NULL) | |
| free(cfn); | |
| - | cfn = (Byte *) strdup((char *) args); |
| + | cfn = (Byte *) xstrdup((char *) args); |
| } else { | |
| // user wants file status info | |
| edit_status(); | |
| @@ -3465,7 +3465,7 @@ static Byte *get_input_line(Byte * prompt) // get input line- use "status line" | |
| refresh(FALSE); | |
| if (obufp != NULL) | |
| free(obufp); | |
| - | obufp = (Byte *) strdup((char *) buf); |
| + | obufp = (Byte *) xstrdup((char *) buf); |
| return (obufp); | |
| } | |
| @@ -133,7 +133,7 @@ | |
| #ifndef MODUTILS_MODULE_H | |
| static const int MODUTILS_MODULE_H = 1; | |
| - | #ident "$Id: insmod.c,v 1.74 2001/10/24 04:59:54 andersen Exp $" |
| + | #ident "$Id: insmod.c,v 1.75 2001/11/12 16:57:26 kraai Exp $" |
| /* This file contains the structures used by the 2.0 and 2.1 kernels. | |
| We do not use the kernel headers directly because we do not wish | |
| @@ -350,7 +350,7 @@ int delete_module(const char *); | |
| #ifndef MODUTILS_OBJ_H | |
| static const int MODUTILS_OBJ_H = 1; | |
| - | #ident "$Id: insmod.c,v 1.74 2001/10/24 04:59:54 andersen Exp $" |
| + | #ident "$Id: insmod.c,v 1.75 2001/11/12 16:57:26 kraai Exp $" |
| /* The relocatable object is manipulated using elfin types. */ | |
| @@ -724,7 +724,7 @@ static int check_module_name_match(const char *filename, struct stat *statbuf, | |
| if (fullname[0] == '\0') | |
| return (FALSE); | |
| else { | |
| - | char *tmp, *tmp1 = strdup(filename); |
| + | char *tmp, *tmp1 = xstrdup(filename); |
| tmp = get_last_path_component(tmp1); | |
| if (strcmp(tmp, fullname) == 0) { | |
| free(tmp1); | |
| @@ -12090,7 +12090,7 @@ initvar() { | |
| vpp = hashvar(ip->text); | |
| vp->next = *vpp; | |
| *vpp = vp; | |
| - | vp->text = strdup(ip->text); |
| + | vp->text = xstrdup(ip->text); |
| vp->flags = ip->flags; | |
| vp->func = ip->func; | |
| } | |
| @@ -12102,7 +12102,7 @@ initvar() { | |
| vpp = hashvar("PS1="); | |
| vps1.next = *vpp; | |
| *vpp = &vps1; | |
| - | vps1.text = strdup(geteuid() ? "PS1=$ " : "PS1=# "); |
| + | vps1.text = xstrdup(geteuid() ? "PS1=$ " : "PS1=# "); |
| vps1.flags = VSTRFIXED|VTEXTFIXED; | |
| } | |
| } | |
| @@ -12646,7 +12646,7 @@ findvar(struct var **vpp, const char *name) | |
| /* | |
| * Copyright (c) 1999 Herbert Xu <[email protected]> | |
| * This file contains code for the times builtin. | |
| - | * $Id: ash.c,v 1.35 2001/11/12 16:44:55 kraai Exp $ |
| + | * $Id: ash.c,v 1.36 2001/11/12 16:57:26 kraai Exp $ |
| */ | |
| static int timescmd (int argc, char **argv) | |
| { | |
| @@ -820,7 +820,7 @@ static int expand_arguments(char *command) | |
| /* We need a clean copy, so strsep can mess up the copy while | |
| * we write stuff into the original (in a minute) */ | |
| - | cmd = cmd_copy = strdup(command); |
| + | cmd = cmd_copy = xstrdup(command); |
| *command = '\0'; | |
| for (ix = 0, tmpcmd = cmd; | |
| (tmpcmd = strsep_space(cmd, &ix)) != NULL; cmd += ix, ix=0) { | |
| @@ -589,11 +589,11 @@ extern int syslogd_main(int argc, char **argv) | |
| doFork = FALSE; | |
| break; | |
| case 'O': | |
| - | logFilePath = strdup(optarg); |
| + | logFilePath = xstrdup(optarg); |
| break; | |
| #ifdef CONFIG_FEATURE_REMOTE_LOG | |
| case 'R': | |
| - | RemoteHost = strdup(optarg); |
| + | RemoteHost = xstrdup(optarg); |
| if ( (p = strchr(RemoteHost, ':'))){ | |
| RemotePort = atoi(p+1); | |
| *p = '\0'; | |
| @@ -463,9 +463,9 @@ extern int mount_main(int argc, char **argv) | |
| strcpy(device, m->mnt_fsname); | |
| strcpy(directory, m->mnt_dir); | |
| - | filesystemType = strdup(m->mnt_type); |
| + | filesystemType = xstrdup(m->mnt_type); |
| singlemount: | |
| - | string_flags = strdup(string_flags); |
| + | string_flags = xstrdup(string_flags); |
| rc = EXIT_SUCCESS; | |
| #ifdef CONFIG_NFSMOUNT | |
| if (strchr(device, ':') != NULL) | |