diff options
-rw-r--r-- | app-cdr/xbiso/files/xbiso-0.6.0-fnamecheck.patch | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/app-cdr/xbiso/files/xbiso-0.6.0-fnamecheck.patch b/app-cdr/xbiso/files/xbiso-0.6.0-fnamecheck.patch index 7b7388a3554b..932b66d4d86c 100644 --- a/app-cdr/xbiso/files/xbiso-0.6.0-fnamecheck.patch +++ b/app-cdr/xbiso/files/xbiso-0.6.0-fnamecheck.patch @@ -1,14 +1,16 @@ ---- xbiso-0.6.0.orig/xbiso.c 2005-05-21 10:36:11.108385944 +0000 -+++ xbiso-0.6.0/xbiso.c 2005-05-21 10:33:09.679967256 +0000 -@@ -310,6 +310,11 @@ +--- xbiso-0.6.0.orig/xbiso.c 2004-01-25 17:53:05.000000000 +0000 ++++ xbiso-0.6.0/xbiso.c 2005-05-21 11:56:21.729060440 +0000 +@@ -309,7 +309,12 @@ + memset(dirent.fname,0,dirent.fnamelen+1); fread(dirent.fname, dirent.fnamelen, 1, xiso); //filename - -+ if (strstr(dirent.fname,"..") || strchr(dirent.fname, '/') || strchr(dirent.fname, '\\')) -+ { -+ printf("Filename contains invalid characters"); -+ exit(1); -+ } - +- ++ ++ if (strstr(dirent.fname,"..") || strchr(dirent.fname, '/') || strchr(dirent.fname, '\\')) ++ { ++ printf("Filename contains invalid characters"); ++ exit(1); ++ } + if(verb) { printf("ltable offset: %i\nrtable offset: %i\nsector: %li\nfilesize: %li\nattributes: 0x%x\nfilename length: %i\nfilename: %s\n\n", dirent.ltable, dirent.rtable, dirent.sector, dirent.size, dirent.attribs, dirent.fnamelen, dirent.fname); |