mwrap (Perl version) user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: mwrap-perl@80x24.org
Subject: [PATCH 08/19] httpd: drop unnecessary AND ops from base-64
Date: Thu, 15 Dec 2022 20:52:44 +0000	[thread overview]
Message-ID: <20221215205255.27840-9-e@80x24.org> (raw)
In-Reply-To: <20221215205255.27840-1-e@80x24.org>

We only use unsigned chars, so we can let truncation do its
thing and not overflow.
---
 mwrap_httpd.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mwrap_httpd.h b/mwrap_httpd.h
index e5790aa..606ae20 100644
--- a/mwrap_httpd.h
+++ b/mwrap_httpd.h
@@ -361,7 +361,7 @@ static void write_b64_url(FILE *fp, const uint8_t *in, size_t len)
 			"abcdefghijklmnopqrstuvwxyz" "0123456789-_";
 	uint8_t o[4];
 	while (len > 3) {
-		o[0] = b64[(in[0] >> 2) & 0x3f];
+		o[0] = b64[in[0] >> 2];
 		o[1] = b64[((in[0] << 4) | (in[1] >> 4)) & 0x3f];
 		o[2] = b64[((in[1] << 2) | (in[2] >> 6)) & 0x3f];
 		o[3] = b64[in[2] & 0x3f];
@@ -372,7 +372,7 @@ static void write_b64_url(FILE *fp, const uint8_t *in, size_t len)
 	if (len) {
 		size_t i = 2;
 
-		o[0] = b64[(in[0] >> 2) & 0x3f];
+		o[0] = b64[in[0] >> 2];
 		o[1] = b64[((in[0] << 4) | (--len ? (in[1] >> 4) : 0)) & 0x3f];
 		if (len)
 			o[i++] = b64[((in[1] << 2) |
@@ -410,11 +410,11 @@ static bool b64_url_decode(const void *ptr, size_t *len)
 		case 0: u = c << 2; break;
 		case 1:
 			*out++ = u | c >> 4;
-			u = (c & 0xf) << 4;
+			u = c << 4;
 			break;
 		case 2:
 			*out++ = u | c >> 2;
-			u = (c & 0x3) << 6;
+			u = c << 6;
 			break;
 		case 3: *out++ = u | c;
 		}

  parent reply	other threads:[~2022-12-15 20:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-15 20:52 [PATCH 00/19] another round of httpd improvements Eric Wong
2022-12-15 20:52 ` [PATCH 01/19] mwrap_httpd: show current bytes consistently Eric Wong
2022-12-15 20:52 ` [PATCH 02/19] introduce AUTO_FREE macro to simplify cleanup Eric Wong
2022-12-15 20:52 ` [PATCH 03/19] httpd: rework httpd to use auto-free for memstream Eric Wong
2022-12-15 20:52 ` [PATCH 04/19] httpd: avoid newline if not using bt: >= 1 Eric Wong
2022-12-15 20:52 ` [PATCH 05/19] mwrap_httpd: flesh out /$PID/ and /$PID/trim endpoints Eric Wong
2022-12-15 20:52 ` [PATCH 06/19] mwrap_httpd: add info about src_file and src_loc stats Eric Wong
2022-12-15 20:52 ` [PATCH 07/19] use uatomic_inc where appropriate Eric Wong
2022-12-15 20:52 ` Eric Wong [this message]
2022-12-15 20:52 ` [PATCH 09/19] mymalloc: add notes on the malloc implementation Eric Wong
2022-12-15 20:52 ` [PATCH 10/19] rproxy: link to mwrap_httpd /$PID/ root without each, too Eric Wong
2022-12-15 20:52 ` [PATCH 11/19] httpd: shrink `mean_life' field to `double' Eric Wong
2022-12-15 20:52 ` [PATCH 12/19] httpd: support CSV output Eric Wong
2022-12-15 20:52 ` [PATCH 13/19] rproxy: enable deflater by default Eric Wong
2022-12-15 20:52 ` [PATCH 14/19] mwrap_httpd: do not abort on fork if out-of-resources Eric Wong
2022-12-15 20:52 ` [PATCH 15/19] httpd: pause forking thread on resource limitations Eric Wong
2022-12-15 20:52 ` [PATCH 16/19] rename mwrap_httpd.h to httpd.h Eric Wong
2022-12-15 20:52 ` [PATCH 17/19] httpd: describe simple and naive buffering scheme Eric Wong
2022-12-15 20:52 ` [PATCH 18/19] httpd: drop TODO item for pipelining Eric Wong
2022-12-15 20:52 ` [PATCH 19/19] avoid -Warray-bounds warning, avoid stack overallocation Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221215205255.27840-9-e@80x24.org \
    --to=e@80x24.org \
    --cc=mwrap-perl@80x24.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mwrap-perl.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).