examples: check value returned by ftell()
authorLudovic Rousseau <ludovic.rousseau+github@gmail.com>
Sun, 6 Oct 2013 12:23:20 +0000 (14:23 +0200)
committerLudovic Rousseau <ludovic.rousseau+github@gmail.com>
Sun, 6 Oct 2013 12:26:25 +0000 (14:26 +0200)
Problem detected by the Coverity tool
CID 1042546 (#1 of 1): Argument cannot be negative (NEGATIVE_RETURNS)3.
negative_returns: "initial_pos" is passed to a parameter that cannot be
negative.

fseek(3) can't be called with a negative offset with SEEK_SET

examples/ezusb.c
libusb/version_nano.h

index 5699a10..278af5d 100644 (file)
@@ -436,7 +436,11 @@ static int parse_iic(FILE *image, void *context,
        uint8_t block_header[4];
        int rc;
        bool external = false;
-       long file_size, initial_pos = ftell(image);
+       long file_size, initial_pos;
+
+       initial_pos = ftell(image);
+       if (initial_pos < 0)
+               return -1;
 
        fseek(image, 0L, SEEK_END);
        file_size = ftell(image);
index d3d70cf..f919a2f 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 10845
+#define LIBUSB_NANO 10846