Check file size to ensure file bigger than 4GB are not added to image.
This commit is contained in:
parent
c8715941e6
commit
f279676b6b
@ -187,17 +187,25 @@ int create_tree(Ecma119Image *image, IsoNode *iso, Ecma119Node **tree,
|
||||
switch(iso->type) {
|
||||
case LIBISO_FILE:
|
||||
ret = create_file(image, (IsoFile*)iso, &node);
|
||||
if (ret == ISO_FILE_TOO_BIG) {
|
||||
free(iso_name);
|
||||
// TODO log
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case LIBISO_SYMLINK:
|
||||
//TODO only supported with RR
|
||||
free(iso_name);
|
||||
return 0;
|
||||
break;
|
||||
case LIBISO_SPECIAL:
|
||||
//TODO only supported with RR
|
||||
free(iso_name);
|
||||
return 0;
|
||||
break;
|
||||
case LIBISO_BOOT:
|
||||
//TODO
|
||||
free(iso_name);
|
||||
return 0;
|
||||
break;
|
||||
case LIBISO_DIR:
|
||||
|
@ -35,6 +35,7 @@
|
||||
#define ISO_FILE_READ_ERROR -107
|
||||
#define ISO_FILE_IS_NOT_DIR -108
|
||||
#define ISO_FILE_IS_NOT_SYMLINK -109
|
||||
#define ISO_FILE_TOO_BIG -110
|
||||
|
||||
#define ISO_CHARSET_CONV_ERROR -150
|
||||
|
||||
|
@ -71,6 +71,11 @@ int iso_file_src_create(Ecma119Image *img, IsoFile *file, IsoFileSrc **src)
|
||||
return ISO_FILE_ERROR;
|
||||
}
|
||||
|
||||
/* Files > 4GB not supported yet, they need ISO level 3 */
|
||||
if (size > (off_t)0xffffffff) {
|
||||
return ISO_FILE_TOO_BIG;
|
||||
}
|
||||
|
||||
fsrc = malloc(sizeof(IsoFileSrc));
|
||||
if (fsrc == NULL) {
|
||||
return ISO_MEM_ERROR;
|
||||
|
Loading…
Reference in New Issue
Block a user