playground:playground
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
playground:playground [2021/02/17 20:10] – old revision restored (2020/11/21 17:32) 5.9.66.153 | playground:playground [2021/04/17 12:53] – old revision restored (2021/04/12 21:20) 144.76.6.230 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | So easy to set up - just put the allowed | + | So easy to set up just put the allowed |
- | + | ||
- | / | + | |
- | + | ||
- | FilesMan | + | |
- | Fuck | + | |
- | cialis | + | |
- | root | + | |
- | rm -rf | + | |
- | crack | + | |
- | hack | + | |
- | + | ||
- | < | + | |
- | /* @return 0 if filename is foobarable. Otherwise 1. | + | |
- | */ | + | |
- | int is_not_foobar_able( | + | |
- | char *filename, /**< filename IN name of file to test */ | + | |
- | int verbose, | + | |
- | int bufsize | + | |
- | ) | + | |
- | { | + | |
- | struct stat buf; | + | |
- | int retval = 1; | + | |
- | char *bigbuf = NULL; /* just to demonstrate an error return with cleanup */ | + | |
- | + | ||
- | if (verbose) printf(" | + | |
- | + | ||
- | if (stat(filename, | + | |
- | goto end; /* error return */ | + | |
- | } | + | |
- | + | ||
- | if ((buf.st_mode & S_IFMT) == S_IFREG) { | + | |
- | /* it's a regular file */ | + | |
- | if ( !(buf.st_mode & 0111)) { | + | |
- | goto end; /* error return */ | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | if ((bigbuf = malloc(bufsize)) == NULL) { | + | |
- | fprintf(stderr, | + | |
- | goto end; /* error return */ | + | |
- | } | + | |
- | + | ||
- | ... | + | |
- | + | ||
- | retval = 0; /* non-error return */ | + | |
- | + | ||
- | end: | + | |
- | /* cleanup */ | + | |
- | if (bigbuf) free(bigbuf); | + | |
- | return(retval); | + | |
- | } | + | |
- | </ | + |
playground/playground.txt · Last modified: 2022/09/03 22:45 (external edit)