[git commit] nslookup: code shrink
Denys Vlasenko
vda.linux at googlemail.com
Tue May 9 17:32:29 UTC 2023
commit: https://git.busybox.net/busybox/commit/?id=dc84002a8256feb1cc7f0fb70bdbfc998deeba4a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
function old new delta
send_queries 725 723 -2
nslookup_main 822 820 -2
add_query 89 86 -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-7) Total: -7 bytes
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
networking/nslookup.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/networking/nslookup.c b/networking/nslookup.c
index 24eae4010..249083e24 100644
--- a/networking/nslookup.c
+++ b/networking/nslookup.c
@@ -589,6 +589,7 @@ static int RESOLVFUNC res_mkquery(int op, const char *dname, int class, int type
if (l>253 || buflen<n || op>15u || class>255u || type>255u)
return -1;
+//TODO: why do we even have the q[] array? Use buf[] directly!
/* Construct query template - ID will be filled later */
memset(q, 0, n);
q[2] = op*8 + 1;
@@ -637,7 +638,12 @@ struct query {
unsigned qlen;
// unsigned latency;
// uint8_t rcode;
- unsigned char query[512];
+ /* res_mkquery() balks on names > 253 chars.
+ * The formed query is 253+18 chars at max.
+ * Real hostnames are nowhere near that long anyway.
+ * Use of power-of-2 size means smaller code.
+ */
+ unsigned char query[512 - sizeof(int) - sizeof(char*)];
// unsigned char reply[512];
};
More information about the busybox-cvs
mailing list