Browse Source

i2cset: Check number of arguments for block data writes

git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@5922 7894878c-1315-0410-8ee3-d5d059ff63e0
tags/v3.1.0
Guenter Roeck 15 years ago
parent
commit
bacad27586
  1. 6
      tools/i2cset.c

6
tools/i2cset.c

@ -223,7 +223,11 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error: PEC not supported for I2C block writes!\n");
help();
}
for (len = 0; len < (int)sizeof(block) && len + flags + 5 < argc; len++) {
if (argc > (int)sizeof(block) + flags + 5) {
fprintf(stderr, "Error: Too many arguments!\n");
help();
}
for (len = 0; len + flags + 5 < argc; len++) {
value = strtol(argv[flags + len + 4], &end, 0);
if (*end || value < 0 || value > 0xff) {
fprintf(stderr, "Error: Block data value invalid!\n");

Loading…
Cancel
Save