Commit c210ee95 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

qapi: fix input visitor bugs



Remove dead code.  Reset errno to 0 before each strtoull call, as the
man page requires.

Reported-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
parent b4acfbcd
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -48,11 +48,10 @@ static void parse_str(StringInputVisitor *siv, Error **errp)
        return;
    }

    errno = 0;
    do {
        errno = 0;
        start = strtoll(str, &endptr, 0);
        if (errno == 0 && endptr > str && INT64_MIN <= start &&
            start <= INT64_MAX) {
        if (errno == 0 && endptr > str) {
            if (*endptr == '\0') {
                cur = g_malloc0(sizeof(*cur));
                cur->begin = start;
@@ -63,9 +62,9 @@ static void parse_str(StringInputVisitor *siv, Error **errp)
                str = NULL;
            } else if (*endptr == '-') {
                str = endptr + 1;
                errno = 0;
                end = strtoll(str, &endptr, 0);
                if (errno == 0 && endptr > str &&
                    INT64_MIN <= end && end <= INT64_MAX && start <= end &&
                if (errno == 0 && endptr > str && start <= end &&
                    (start > INT64_MAX - 65536 ||
                     end < start + 65536)) {
                    if (*endptr == '\0') {