Commit fd5f393ababcf13db74dfd26e53650abe34dedd7

Authored by pbrook
1 parent 4af984a7

Remove fixed length commandline buffers.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4111 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 2 changed files with 31 additions and 38 deletions
linux-user/main.c
@@ -1945,7 +1945,7 @@ int main(int argc, char **argv) @@ -1945,7 +1945,7 @@ int main(int argc, char **argv)
1945 char **target_environ, **wrk, **dst; 1945 char **target_environ, **wrk, **dst;
1946 1946
1947 if (argc <= 1) 1947 if (argc <= 1)
1948 - usage(); 1948 + usage(1);
1949 1949
1950 /* init debug */ 1950 /* init debug */
1951 cpu_set_log_filename(DEBUG_LOGFILE); 1951 cpu_set_log_filename(DEBUG_LOGFILE);
@@ -1983,7 +1983,7 @@ int main(int argc, char **argv) @@ -1983,7 +1983,7 @@ int main(int argc, char **argv)
1983 r = argv[optind++]; 1983 r = argv[optind++];
1984 x86_stack_size = strtol(r, (char **)&r, 0); 1984 x86_stack_size = strtol(r, (char **)&r, 0);
1985 if (x86_stack_size <= 0) 1985 if (x86_stack_size <= 0)
1986 - usage(); 1986 + usage(1);
1987 if (*r == 'M') 1987 if (*r == 'M')
1988 x86_stack_size *= 1024 * 1024; 1988 x86_stack_size *= 1024 * 1024;
1989 else if (*r == 'k' || *r == 'K') 1989 else if (*r == 'k' || *r == 'K')
@@ -8202,21 +8202,21 @@ int main(int argc, char **argv) @@ -8202,21 +8202,21 @@ int main(int argc, char **argv)
8202 const char *boot_devices = ""; 8202 const char *boot_devices = "";
8203 DisplayState *ds = &display_state; 8203 DisplayState *ds = &display_state;
8204 int cyls, heads, secs, translation; 8204 int cyls, heads, secs, translation;
8205 - char net_clients[MAX_NET_CLIENTS][256]; 8205 + const char *net_clients[MAX_NET_CLIENTS];
8206 int nb_net_clients; 8206 int nb_net_clients;
8207 int hda_index; 8207 int hda_index;
8208 int optind; 8208 int optind;
8209 const char *r, *optarg; 8209 const char *r, *optarg;
8210 CharDriverState *monitor_hd; 8210 CharDriverState *monitor_hd;
8211 - char monitor_device[128];  
8212 - char serial_devices[MAX_SERIAL_PORTS][128]; 8211 + const char *monitor_device;
  8212 + const char *serial_devices[MAX_SERIAL_PORTS];
8213 int serial_device_index; 8213 int serial_device_index;
8214 - char parallel_devices[MAX_PARALLEL_PORTS][128]; 8214 + const char *parallel_devices[MAX_PARALLEL_PORTS];
8215 int parallel_device_index; 8215 int parallel_device_index;
8216 const char *loadvm = NULL; 8216 const char *loadvm = NULL;
8217 QEMUMachine *machine; 8217 QEMUMachine *machine;
8218 const char *cpu_model; 8218 const char *cpu_model;
8219 - char usb_devices[MAX_USB_CMDLINE][128]; 8219 + const char *usb_devices[MAX_USB_CMDLINE];
8220 int usb_devices_index; 8220 int usb_devices_index;
8221 int fds[2]; 8221 int fds[2];
8222 const char *pid_file = NULL; 8222 const char *pid_file = NULL;
@@ -8270,16 +8270,16 @@ int main(int argc, char **argv) @@ -8270,16 +8270,16 @@ int main(int argc, char **argv)
8270 kernel_cmdline = ""; 8270 kernel_cmdline = "";
8271 cyls = heads = secs = 0; 8271 cyls = heads = secs = 0;
8272 translation = BIOS_ATA_TRANSLATION_AUTO; 8272 translation = BIOS_ATA_TRANSLATION_AUTO;
8273 - pstrcpy(monitor_device, sizeof(monitor_device), "vc"); 8273 + monitor_device = "vc";
8274 8274
8275 - pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "vc"); 8275 + serial_devices[0] = "vc";
8276 for(i = 1; i < MAX_SERIAL_PORTS; i++) 8276 for(i = 1; i < MAX_SERIAL_PORTS; i++)
8277 - serial_devices[i][0] = '\0'; 8277 + serial_devices[i] = NULL;
8278 serial_device_index = 0; 8278 serial_device_index = 0;
8279 8279
8280 - pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "vc"); 8280 + parallel_devices[0] = "vc";
8281 for(i = 1; i < MAX_PARALLEL_PORTS; i++) 8281 for(i = 1; i < MAX_PARALLEL_PORTS; i++)
8282 - parallel_devices[i][0] = '\0'; 8282 + parallel_devices[i] = NULL;
8283 parallel_device_index = 0; 8283 parallel_device_index = 0;
8284 8284
8285 usb_devices_index = 0; 8285 usb_devices_index = 0;
@@ -8435,9 +8435,9 @@ int main(int argc, char **argv) @@ -8435,9 +8435,9 @@ int main(int argc, char **argv)
8435 } 8435 }
8436 break; 8436 break;
8437 case QEMU_OPTION_nographic: 8437 case QEMU_OPTION_nographic:
8438 - pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "stdio");  
8439 - pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "null");  
8440 - pstrcpy(monitor_device, sizeof(monitor_device), "stdio"); 8438 + serial_devices[0] = "stdio";
  8439 + parallel_devices[0] = "null";
  8440 + monitor_device = "stdio";
8441 nographic = 1; 8441 nographic = 1;
8442 break; 8442 break;
8443 #ifdef CONFIG_CURSES 8443 #ifdef CONFIG_CURSES
@@ -8505,9 +8505,7 @@ int main(int argc, char **argv) @@ -8505,9 +8505,7 @@ int main(int argc, char **argv)
8505 fprintf(stderr, "qemu: too many network clients\n"); 8505 fprintf(stderr, "qemu: too many network clients\n");
8506 exit(1); 8506 exit(1);
8507 } 8507 }
8508 - pstrcpy(net_clients[nb_net_clients],  
8509 - sizeof(net_clients[0]),  
8510 - optarg); 8508 + net_clients[nb_net_clients] = optarg;
8511 nb_net_clients++; 8509 nb_net_clients++;
8512 break; 8510 break;
8513 #ifdef CONFIG_SLIRP 8511 #ifdef CONFIG_SLIRP
@@ -8642,15 +8640,14 @@ int main(int argc, char **argv) @@ -8642,15 +8640,14 @@ int main(int argc, char **argv)
8642 break; 8640 break;
8643 } 8641 }
8644 case QEMU_OPTION_monitor: 8642 case QEMU_OPTION_monitor:
8645 - pstrcpy(monitor_device, sizeof(monitor_device), optarg); 8643 + monitor_device = optarg;
8646 break; 8644 break;
8647 case QEMU_OPTION_serial: 8645 case QEMU_OPTION_serial:
8648 if (serial_device_index >= MAX_SERIAL_PORTS) { 8646 if (serial_device_index >= MAX_SERIAL_PORTS) {
8649 fprintf(stderr, "qemu: too many serial ports\n"); 8647 fprintf(stderr, "qemu: too many serial ports\n");
8650 exit(1); 8648 exit(1);
8651 } 8649 }
8652 - pstrcpy(serial_devices[serial_device_index],  
8653 - sizeof(serial_devices[0]), optarg); 8650 + serial_devices[serial_device_index] = optarg;
8654 serial_device_index++; 8651 serial_device_index++;
8655 break; 8652 break;
8656 case QEMU_OPTION_parallel: 8653 case QEMU_OPTION_parallel:
@@ -8658,8 +8655,7 @@ int main(int argc, char **argv) @@ -8658,8 +8655,7 @@ int main(int argc, char **argv)
8658 fprintf(stderr, "qemu: too many parallel ports\n"); 8655 fprintf(stderr, "qemu: too many parallel ports\n");
8659 exit(1); 8656 exit(1);
8660 } 8657 }
8661 - pstrcpy(parallel_devices[parallel_device_index],  
8662 - sizeof(parallel_devices[0]), optarg); 8658 + parallel_devices[parallel_device_index] = optarg;
8663 parallel_device_index++; 8659 parallel_device_index++;
8664 break; 8660 break;
8665 case QEMU_OPTION_loadvm: 8661 case QEMU_OPTION_loadvm:
@@ -8704,9 +8700,7 @@ int main(int argc, char **argv) @@ -8704,9 +8700,7 @@ int main(int argc, char **argv)
8704 fprintf(stderr, "Too many USB devices\n"); 8700 fprintf(stderr, "Too many USB devices\n");
8705 exit(1); 8701 exit(1);
8706 } 8702 }
8707 - pstrcpy(usb_devices[usb_devices_index],  
8708 - sizeof(usb_devices[usb_devices_index]),  
8709 - optarg); 8703 + usb_devices[usb_devices_index] = optarg;
8710 usb_devices_index++; 8704 usb_devices_index++;
8711 break; 8705 break;
8712 case QEMU_OPTION_smp: 8706 case QEMU_OPTION_smp:
@@ -8894,10 +8888,8 @@ int main(int argc, char **argv) @@ -8894,10 +8888,8 @@ int main(int argc, char **argv)
8894 /* init network clients */ 8888 /* init network clients */
8895 if (nb_net_clients == 0) { 8889 if (nb_net_clients == 0) {
8896 /* if no clients, we use a default config */ 8890 /* if no clients, we use a default config */
8897 - pstrcpy(net_clients[0], sizeof(net_clients[0]),  
8898 - "nic");  
8899 - pstrcpy(net_clients[1], sizeof(net_clients[0]),  
8900 - "user"); 8891 + net_clients[0] = "nic";
  8892 + net_clients[1] = "user";
8901 nb_net_clients = 2; 8893 nb_net_clients = 2;
8902 } 8894 }
8903 8895
@@ -9016,17 +9008,18 @@ int main(int argc, char **argv) @@ -9016,17 +9008,18 @@ int main(int argc, char **argv)
9016 /* Maintain compatibility with multiple stdio monitors */ 9008 /* Maintain compatibility with multiple stdio monitors */
9017 if (!strcmp(monitor_device,"stdio")) { 9009 if (!strcmp(monitor_device,"stdio")) {
9018 for (i = 0; i < MAX_SERIAL_PORTS; i++) { 9010 for (i = 0; i < MAX_SERIAL_PORTS; i++) {
9019 - if (!strcmp(serial_devices[i],"mon:stdio")) {  
9020 - monitor_device[0] = '\0'; 9011 + const char *devname = serial_devices[i];
  9012 + if (devname && !strcmp(devname,"mon:stdio")) {
  9013 + monitor_device = NULL;
9021 break; 9014 break;
9022 - } else if (!strcmp(serial_devices[i],"stdio")) {  
9023 - monitor_device[0] = '\0';  
9024 - pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "mon:stdio"); 9015 + } else if (devname && !strcmp(devname,"stdio")) {
  9016 + monitor_device = NULL;
  9017 + serial_devices[i] = "mon:stdio";
9025 break; 9018 break;
9026 } 9019 }
9027 } 9020 }
9028 } 9021 }
9029 - if (monitor_device[0] != '\0') { 9022 + if (monitor_device) {
9030 monitor_hd = qemu_chr_open(monitor_device); 9023 monitor_hd = qemu_chr_open(monitor_device);
9031 if (!monitor_hd) { 9024 if (!monitor_hd) {
9032 fprintf(stderr, "qemu: could not open monitor device '%s'\n", monitor_device); 9025 fprintf(stderr, "qemu: could not open monitor device '%s'\n", monitor_device);
@@ -9037,7 +9030,7 @@ int main(int argc, char **argv) @@ -9037,7 +9030,7 @@ int main(int argc, char **argv)
9037 9030
9038 for(i = 0; i < MAX_SERIAL_PORTS; i++) { 9031 for(i = 0; i < MAX_SERIAL_PORTS; i++) {
9039 const char *devname = serial_devices[i]; 9032 const char *devname = serial_devices[i];
9040 - if (devname[0] != '\0' && strcmp(devname, "none")) { 9033 + if (devname && strcmp(devname, "none")) {
9041 serial_hds[i] = qemu_chr_open(devname); 9034 serial_hds[i] = qemu_chr_open(devname);
9042 if (!serial_hds[i]) { 9035 if (!serial_hds[i]) {
9043 fprintf(stderr, "qemu: could not open serial device '%s'\n", 9036 fprintf(stderr, "qemu: could not open serial device '%s'\n",
@@ -9051,7 +9044,7 @@ int main(int argc, char **argv) @@ -9051,7 +9044,7 @@ int main(int argc, char **argv)
9051 9044
9052 for(i = 0; i < MAX_PARALLEL_PORTS; i++) { 9045 for(i = 0; i < MAX_PARALLEL_PORTS; i++) {
9053 const char *devname = parallel_devices[i]; 9046 const char *devname = parallel_devices[i];
9054 - if (devname[0] != '\0' && strcmp(devname, "none")) { 9047 + if (devname && strcmp(devname, "none")) {
9055 parallel_hds[i] = qemu_chr_open(devname); 9048 parallel_hds[i] = qemu_chr_open(devname);
9056 if (!parallel_hds[i]) { 9049 if (!parallel_hds[i]) {
9057 fprintf(stderr, "qemu: could not open parallel device '%s'\n", 9050 fprintf(stderr, "qemu: could not open parallel device '%s'\n",