On Fri, Jan 11, 2013 at 02:06:05PM -0700, Eric Blake wrote:
On 01/11/2013 11:15 AM, Eduardo Habkost wrote:
> Extract the code that's specific for the "node" -numa option type
(the
> only one, today) to a separate function.
>
> The extracted code will eventually become a function specific for a
> "numa-node" config section, independent from the numa_add() code.
> + if (get_param_value(option, 128, "nodeid", optarg) == 0) {
> + nodenr = nb_numa_nodes;
> + } else {
> + nodenr = strtoull(option, NULL, 10);
> }
strtoull() needs additional error checking after the fact, to make sure
I didn't pass an empty string, trailing garbage, or so many digits I
triggered overflow.
> + if (get_param_value(option, 128, "cpus", optarg) != 0) {
> + value = strtoull(option, &endptr, 10);
> + if (*endptr == '-') {
> + endvalue = strtoull(endptr+1, &endptr, 10);
> } else {
> - nodenr = strtoull(option, NULL, 10);
> + endvalue = value;
> }
More uses of strtoull() that aren't guarding against all possible errors.
All this code gets replaced in patch 09/10. The only remaining
strtoull() call gets error-checking at patch 06/10.
--
Eduardo