Fixed some security issues

pull/1106/head
AlexeyAB 7 years ago
parent 2b964134b4
commit e1e5abe191
  1. 26
      src/image.c

@ -966,10 +966,15 @@ image load_image_cv(char *filename, int channels)
if( (src = cvLoadImage(filename, flag)) == 0 )
{
fprintf(stderr, "Cannot load image \"%s\"\n", filename);
char buff[256];
sprintf(buff, "echo %s >> bad.list", filename);
system(buff);
char shrinked_filename[1024];
if (strlen(filename) >= 1024) sprintf(shrinked_filename, "name is too long");
else sprintf(shrinked_filename, "%s", filename);
fprintf(stderr, "Cannot load image \"%s\"\n", shrinked_filename);
FILE* fw = fopen("bad.list", "a");
fwrite(shrinked_filename, sizeof(char), strlen(shrinked_filename), fw);
char *new_line = "\n";
fwrite(new_line, sizeof(char), strlen(new_line), fw);
fclose(fw);
return make_image(10,10,3);
//exit(EXIT_FAILURE);
}
@ -1764,10 +1769,15 @@ image load_image_stb(char *filename, int channels)
int w, h, c;
unsigned char *data = stbi_load(filename, &w, &h, &c, channels);
if (!data) {
fprintf(stderr, "Cannot load image \"%s\"\nSTB Reason: %s\n", filename, stbi_failure_reason());
char buff[256];
sprintf(buff, "echo %s >> bad.list", filename);
system(buff);
char shrinked_filename[1024];
if (strlen(filename) >= 1024) sprintf(shrinked_filename, "name is too long");
else sprintf(shrinked_filename, "%s", filename);
fprintf(stderr, "Cannot load image \"%s\"\nSTB Reason: %s\n", shrinked_filename, stbi_failure_reason());
FILE* fw = fopen("bad.list", "a");
fwrite(shrinked_filename, sizeof(char), strlen(shrinked_filename), fw);
char *new_line = "\n";
fwrite(new_line, sizeof(char), strlen(new_line), fw);
fclose(fw);
return make_image(10, 10, 3);
//exit(EXIT_FAILURE);
}

Loading…
Cancel
Save