From 48d4c180355258edf63b72e566846e9c5a8c7f32 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Fri, 17 Jun 2022 23:08:13 -0400 Subject: edit: Validate size is power of two --- extra/edit/edit.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/extra/edit/edit.c b/extra/edit/edit.c index 51c913c..793e413 100644 --- a/extra/edit/edit.c +++ b/extra/edit/edit.c @@ -236,7 +236,6 @@ static const char *Boolean[] = { "no-names", "no-sts", "palaver", "sasl-external", "verbose", }; -// FIXME: size needs to be validated for power of two static const char *Integer[] = { "local-port", "port", "queue-interval", "size", }; @@ -290,8 +289,12 @@ static const char *validate(const char *name, const char *value) { if (!safe(name)) return "cannot be set"; if (!value) return "requires a value"; char *end; - strtoul(value, &end, 10); - return (!*value || *end ? "must be an integer" : NULL); + size_t n = strtoull(value, &end, 10); + if (!*value || *end) return "must be an integer"; + if (!strcmp(name, "size") && (!n || n & (n-1))) { + return "must be a power of two"; + } + return NULL; } for (size_t i = 0; i < ARRAY_LEN(String); ++i) { if (strcmp(String[i], name)) continue; -- cgit 1.4.1 22ded98851ca9dee7c3c3e3b0fd02c49b'>refs log tree commit diff
path: root/filters/html-converters/man2html (unfollow)
Commit message (Expand)Author
2015-08-14commit: move layout into page functionJohn Keeping
2015-08-14about: move layout into page functionsJohn Keeping
2015-08-14ui-shared: add cgit_print_layout_{start,end}()John Keeping
2015-08-14html: remove html_status()John Keeping
2015-08-14snapshot: don't reimplement cgit_print_error_page()John Keeping
2015-08-14snapshot: use cgit_print_error_page() for HTTP status codesJohn Keeping
2015-08-14patch: use cgit_print_error_page() for HTTP status codesJohn Keeping
2015-08-14blob: use cgit_print_error_page() to add HTTP headersJohn Keeping
2015-08-14snapshot: use cgit_print_error_page() instead of html_status()John Keeping
2015-08-14plain: use cgit_print_error_page() instead of html_status()John Keeping
2015-08-14clone: use cgit_print_error_page() instead of html_status()John Keeping
2015-08-14cgit: use cgit_print_error_page() where appropriateJohn Keeping
2015-08-14ui-shared: add cgit_print_error_page() functionJohn Keeping
2015-08-14ui-patch: make sure to send http headersChristian Hesse
2015-08-13Makefile: make "git/config.mak.uname" inclusion optionalJohn Keeping
2015-08-13ui-shared: show full date in tooltip if longer ago than max_relativeJohn Keeping
2015-08-13ui-shared: use common function in print_rel_date()John Keeping
2015-08-13ui-shared: extract date formatting to a functionJohn Keeping
2015-08-13filter: don't use dlsym unnecessarilyJohn Keeping
2015-08-13ui-tree: use "sane" isgraph()John Keeping
2015-08-13cgit.h: move stdbool.h from ui-shared.hJohn Keeping
2015-08-13cache.c: fix header orderJohn Keeping
2015-08-13configfile.c: don't include system headers directlyJohn Keeping
2015-08-13Remove redundant includesJohn Keeping
2015-08-13Makefile: include Git's config.mak.unameJohn Keeping
2015-08-13tests: allow shell to be overriddenJohn Keeping
2015-08-13redirect: cleanlinessJason A. Donenfeld
2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld
2015-08-12ui-log: fix double countingJohn Keeping
2015-08-12log: allow users to follow a fileJohn Keeping
2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping
2015-08-12t0110: Chain together using &&Jason A. Donenfeld
2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld
2015-08-12filters: apply HTML escapingLazaros Koromilas
2015-08-12git: update to v2.5.0Christian Hesse
2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt