On Tue, Jul 5, 2011 at 12:31 PM, Fam Zheng <famc...@gmail.com> wrote:
> +        ret = sscanf(p, "%10s %lld %10s %512s",
[...]
> +            ret = sscanf(p, "%10s %lld %10s %511s %lld",

%512s -> %511s

But instead of duplicating the format string and sscanf(3), I suggest
doing sscanf(p, "%10s %lld %10s %511s %lld", ...) once only.

After it returns you can check:
if (ret < 4) {
    ...fail...
} else if (!strcmp(access, "FLAT")) {
    if (ret != 5 || flat_offset < 0) {
        ...fail...
    }
} else {
    if (ret != 4) {
        ...fail...
    }
}

Stefan

Reply via email to