Revision 9f9b17a4 vl.c

b/vl.c
710 710
        if (get_param_value(option, 128, "mem", optarg) == 0) {
711 711
            node_mem[nodenr] = 0;
712 712
        } else {
713
            value = strtoull(option, &endptr, 0);
714
            switch (*endptr) {
715
            case 0: case 'M': case 'm':
716
                value <<= 20;
717
                break;
718
            case 'G': case 'g':
719
                value <<= 30;
720
                break;
713
            ssize_t sval;
714
            sval = strtosz(option, NULL);
715
            if (sval < 0) {
716
                fprintf(stderr, "qemu: invalid numa mem size: %s\n", optarg);
717
                exit(1);
721 718
            }
722
            node_mem[nodenr] = value;
719
            node_mem[nodenr] = sval;
723 720
        }
724 721
        if (get_param_value(option, 128, "cpus", optarg) == 0) {
725 722
            node_cpumask[nodenr] = 0;
......
2139 2136
                exit(0);
2140 2137
                break;
2141 2138
            case QEMU_OPTION_m: {
2142
                uint64_t value;
2143
                char *ptr;
2139
                ssize_t value;
2144 2140

  
2145
                value = strtoul(optarg, &ptr, 10);
2146
                switch (*ptr) {
2147
                case 0: case 'M': case 'm':
2148
                    value <<= 20;
2149
                    break;
2150
                case 'G': case 'g':
2151
                    value <<= 30;
2152
                    break;
2153
                default:
2141
                value = strtosz(optarg, NULL);
2142
                if (value < 0) {
2154 2143
                    fprintf(stderr, "qemu: invalid ram size: %s\n", optarg);
2155 2144
                    exit(1);
2156 2145
                }

Also available in: Unified diff