← Commit list

2766eedde

Bernhard Reutner-Fischer
Bernhard Reutner-Fischer
2006-03-31
SOURCE BUG Duration: 8s

Subject

- use RESERVE_CONFIG_BUFFER. For defconfig this gives: text data bss dec hex filename 3627 4 120 3751 ea7 networking/arping.o.oorig 3548 4 96 3648 e40 networking/arping.o.r14710 3520 4 96 3620 e24 networking/arping.o

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/arping.c+5 -3
@@ -71,7 +71,7 @@ static int send_pack(int sock, struct in_addr *src_addr,
{
int err;
struct timeval now;
- unsigned char buf[256];
+ RESERVE_CONFIG_UBUFFER(buf, 256);
struct arphdr *ah = (struct arphdr *) buf;
unsigned char *p = (unsigned char *) (ah + 1);
@@ -105,6 +105,7 @@ static int send_pack(int sock, struct in_addr *src_addr,
if (!(cfg&unicasting))
brd_sent++;
}
+ RELEASE_CONFIG_BUFFER(buf);
return err;
}
@@ -456,12 +457,12 @@ int arping_main(int argc, char **argv)
while (1) {
sigset_t sset, osset;
- unsigned char packet[4096];
+ RESERVE_CONFIG_UBUFFER(packet, 4096);
struct sockaddr_ll from;
socklen_t alen = sizeof(from);
int cc;
- if ((cc = recvfrom(s, packet, sizeof(packet), 0,
+ if ((cc = recvfrom(s, packet, 4096, 0,
(struct sockaddr *) &from, &alen)) < 0) {
perror("recvfrom");
continue;
@@ -472,5 +473,6 @@ int arping_main(int argc, char **argv)
sigprocmask(SIG_BLOCK, &sset, &osset);
recv_pack(packet, cc, &from);
sigprocmask(SIG_SETMASK, &osset, NULL);
+ RELEASE_CONFIG_BUFFER(packet);
}
}