examples: fix two issues found by CodeQL
No binary (build failed)
—
(log yok)
| @@ -38,7 +38,7 @@ static size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb, | |
| long len = 0; | |
| r = sscanf(ptr, "Content-Length: %ld\n", &len); | |
| - | if(r) |
| + | if(r == 1) |
| *((long *) stream) = len; | |
| return size * nmemb; | |
| @@ -45,6 +45,9 @@ | |
| #ifdef _WIN32 | |
| #undef stat | |
| #define stat _stat | |
| + | #undef fstat |
| + | #define fstat _fstat |
| + | #define fileno _fileno |
| #endif | |
| /* curl stuff */ | |
| @@ -223,24 +226,27 @@ static int setup(struct input *i, int num, const char *upload) | |
| curl_msnprintf(url, 256, "https://localhost:8443/upload-%d", num); | |
| - | /* get the file size of the local file */ |
| - | if(stat(upload, &file_info)) { |
| - | fprintf(stderr, "error: could not stat file %s: %s\n", upload, |
| + | i->in = fopen(upload, "rb"); |
| + | if(!i->in) { |
| + | fprintf(stderr, "error: could not open file %s for reading: %s\n", upload, |
| strerror(errno)); | |
| fclose(out); | |
| return 1; | |
| } | |
| - | uploadsize = file_info.st_size; |
| - | |
| - | i->in = fopen(upload, "rb"); |
| - | if(!i->in) { |
| - | fprintf(stderr, "error: could not open file %s for reading: %s\n", upload, |
| + | #ifdef UNDER_CE |
| + | if(stat(upload, &file_info) != 0) { |
| + | #else |
| + | if(fstat(fileno(i->in), &file_info) != 0) { |
| + | #endif |
| + | fprintf(stderr, "error: could not stat file %s: %s\n", upload, |
| strerror(errno)); | |
| fclose(out); | |
| return 1; | |
| } | |
| + | uploadsize = file_info.st_size; |
| + | |
| hnd = i->hnd = curl_easy_init(); | |
| /* write to this file */ | |