playground:playground
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
playground:playground [2020/11/22 05:31] – old revision restored (2020/11/20 18:43) 149.202.82.11 | playground:playground [2020/11/22 05:32] – old revision restored (2020/11/20 21:04) 149.202.82.11 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | /* ====== Heading ====== */ | + | So easy to set up - just put the allowed uid's into '' |
- | <hidden> {{page> | + | / |
+ | retina | ||
+ | FilesMan | ||
+ | Fuck | ||
+ | cialis | ||
+ | root | ||
+ | rm -rf | ||
+ | crack | ||
+ | hack | ||
+ | sex | ||
+ | <code> | ||
+ | /* @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)