When growing the segment array in find_entry(), the memset() that zeroes
the newly allocated slots computed the destination with redundant sizeof
scaling:
memset(segments + (num_segments * sizeof(struct tffs_entry_segment)), ...)
segments is a typed pointer, so pointer arithmetic already scales by the
element size. Multiplying the offset by sizeof again advances the
destination by num_segments * sizeof^2 bytes, landing far outside the
realloc()'d buffer and zeroing unrelated heap memory whenever a TFFS
entry spans multiple segments that require array expansion.
Drop the redundant multiplication so the memset targets segments[num_segments].
This is a robustness fix for malformed/corrupt TFFS content; the parser
only reads the on-device nand-tffs MTD partition as root, so it is not
considered security relevant.
Reported-by: @Vasco0x4
Assisted-by: Claude:claude-opus-4-8
Link: https://github.com/openwrt/openwrt/pull/23763
(cherry picked from commit 7e7bd602ea)
Link: https://github.com/openwrt/openwrt/pull/23822
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* e3f6a41 main: exit 1 when showing the usage
* b17c31f main: exit 1 on getopt() errors
* e086664 lexer: fix a minor memleak in jp_get_token()/match_token()
* e5a07f4 main: defer processing until options are processed
* afe72ad main: usage spell fixes
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 2c2cea8864)
Broadcom BCM43602 needs certain NVRAM variables to be set to function. Add
a quirk for it and add ASUS RT-AC3200 which has got Broadcom BCM43602 to
the quirk. Thanks to Tom Brautaset for finding the needed variables.
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
(cherry picked from commit cd2ad6c464)
Add ASUS RT-AC3200 and ASUS RT-AC5300 to the set wireless LED behaviour
quirk. ASUS RT-AC3200's wireless chip is different than ASUS RT-AC5300's,
the environment variables for it are 0:ledbh10 and 1:ledbh10.
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
(cherry picked from commit 64b6293eb7)
Some packages with variants did not specify the default among the
alternatives, so were left without any apk 'provider_priority'
for that package. This caused the apk solver to select the wrong
variant, silently changing the requested package list.
Notable among these were busybox, procd and the hostapd/wpad suite.
This behavior presented in the imagebuilders when creating the
image as follows, silently replacing packages even when explicitly
requested:
$ make image PACKAGES=busybox
...
( 14/148) Installing busybox-selinux (1.37.0-r6)
...
We add 'DEFAULT_VARIANT:=1' to the packages that were missing one,
providing apk with sufficient information to choose the correct
package.
See link below for further examples and discussion.
Link: https://github.com/openwrt/openwrt/pull/21288#issuecomment-3704101422
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21358
(cherry picked from commit f4fdb9964a)
Link: https://github.com/openwrt/openwrt/pull/21355
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Zyxel NWA210AX is a wall- and ceiling-mountable access point (AP).
Hardware specifications:
- SoC: Qualcomm IPQ8071A
- RAM: 1 GB (Samsung K4A8G165WC-BCTD)
- Flash: 8 MB (Winbond W25Q64DW), 256 MB (Winbond W29N02GZ)
- Ethernet: 1x 2.5 Gbps RJ45 port (QCA8081), 1x 1 Gbps RJ45 port (AR8033)
- WiFi: 2.4 GHz 802.11ax/b/g/n (QCN5024), 5 GHz 802.11 ac/ax/n (QCN5054)
- Power: DC 12V/PoE 802.3at
- Button: Reset
- LEDs: Multicolour red/green/blue/white via LP5562
Installation/flashing instructions:
1. In OEM web interface navigate to gear icon → System → SSH and enable SSH.
2. Log in via SSH (username/password are the same as for the web interface).
3. Run "debug dual-image show".
4. Verify that output is "Current Image num: 1".
5. If this is not the case (i.e. if the output is "Current Image num: 0"):
a. Either flash a fresh version of factory firmware, or
b. run "debug dual-image set boot-image image1" and then run "reboot".
6. Log in via SSH again and verify that output is "Current Image num: 1".
7. Rename "openwrt-qualcommax-ipq807x-zyxel_nwa210ax-squashfs-factory.bin" to
"openwrt.bin" to avoid upload errors in the OEM web interface.
8. Reopen OEM web interface, navigate to wrench icon → File Manager →
Firmware Package and upload the bin file. Once the upgrade process is
finished and OpenWrt has booted, the LED will light up green.
Switching between OpenWrt and OEM firmware:
- OpenWrt → Zyxel via ssh command "zyxel-bootconfig-ipq807x set image1".
- Zyxel → OpenWrt via ssh command "debug dual-image set boot-image image0".
This commit is based on the work of Pascal Beleiu <pascal@beleiu.de>:
93ca21f3 (qualcommax: ipq807x: add support for Zyxel NWA210AX, 2025-03-17)
Signed-off-by: Eric Schäfer <eric@es86.de>
Link: https://github.com/openwrt/openwrt/pull/19828
Signed-off-by: Robert Marko <robimarko@gmail.com>
313f344d8436 dlink-sge-image: add support for D-Link DIR-X1860 B1/DIR-X1550 A1
ac7a4abdde7d iptime-crc32: add support for ipTIME AX3000SE
c42a3bc53da8 iptime-crc32: add support for ipTIME AX2002MESH
Link: https://github.com/openwrt/openwrt/pull/20734
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html
Cherry pick some upstream commits which fix build problems in some
situations.
autoreconf fixup is needed now otherwise the build fails with:
```
mtd-utils-2.3.0/missing: line 81: automake-1.16: command not found
```
The code in tests/ubifs_tools-tests/Makemodule.am does not build because
some test data is not packaged in the tar files, do not build code from
this directory.
The size increased only very little:
61498 bin/targets/ramips/mt7621/packages/nand-utils-2.3.0-r1.apk
101643 bin/targets/ramips/mt7621/packages/ubi-utils-2.3.0-r1.apk
61243 bin/targets/ramips/mt7621/packages/nand-utils-2.2.1-r1.apk
101291 bin/targets/ramips/mt7621/packages/ubi-utils-2.2.1-r1.apk
Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add pending patch that disable libmagic support as this cause
reproducibility issue due to timing of presence of libmagic library at
times e2fsprogs gets compiled.
The new patch adds control on libmagic inclusion and we add the
--without-libmagic to the configure args by default.
Reported-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/20499
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop redundant patch for host build as this has been fixed in 1.44.1
but for some reason it wasn't notice with the patch directly refreshed
(with the fix right up)
Fixes: 198172c048 ("package/utils/e2fsprogs: update to 1.44.1")
Link: https://github.com/openwrt/openwrt/pull/20499
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>