<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slstatus/components, branch master</title>
<subtitle>The suckless status bar.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/'/>
<entry>
<title>fix getnameinfo sockaddr size for IPv4</title>
<updated>2026-06-23T22:12:59+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-06-23T20:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=675c83912ea1aca9834448aaa87a040bc9990c52'/>
<id>675c83912ea1aca9834448aaa87a040bc9990c52</id>
<content type='text'>
pass sizeof(struct sockaddr_in) for AF_INET instead of always using
sizeof(struct sockaddr_in6). also skip getnameinfo entirely for
non-matching interfaces rather than calling it for every entry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pass sizeof(struct sockaddr_in) for AF_INET instead of always using
sizeof(struct sockaddr_in6). also skip getnameinfo entirely for
non-matching interfaces rather than calling it for every entry.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix wifi buffer overflows on Linux</title>
<updated>2026-06-23T22:12:47+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-06-23T19:08:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=0dc0c59dbefbd38a8c59004e941260a26fe4bccf'/>
<id>0dc0c59dbefbd38a8c59004e941260a26fe4bccf</id>
<content type='text'>
replace strcpy of interface name into ifr_name (IFNAMSIZ=16) with
bounds-checked snprintf. add one byte to resp buffer so NUL-terminating
the SSID at resp boundary does not write out of bounds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
replace strcpy of interface name into ifr_name (IFNAMSIZ=16) with
bounds-checked snprintf. add one byte to resp buffer so NUL-terminating
the SSID at resp boundary does not write out of bounds.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix use of uninitialized volume in OSS mixer</title>
<updated>2026-06-23T22:12:22+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-06-23T17:27:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=60b28d8a78b14ecc43f1c7d177cfa5f8597e2071'/>
<id>60b28d8a78b14ecc43f1c7d177cfa5f8597e2071</id>
<content type='text'>
if no "vol" device exists in the mixer, v was used uninitialized.
return early on match and return NULL with a warning otherwise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
if no "vol" device exists in the mixer, v was used uninitialized.
return early on match and return NULL with a warning otherwise.
</pre>
</div>
</content>
</entry>
<entry>
<title>openbsd swap: advance iterator, fix leaks</title>
<updated>2026-06-23T22:11:32+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-06-23T16:42:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=7a8545952ef647e6862c5b184aee0b13a48e741d'/>
<id>7a8545952ef647e6862c5b184aee0b13a48e741d</id>
<content type='text'>
the swap entry loop read the first entry repeatedly instead of
iterating with sep[i]. also free the allocation on error paths
and fix "SWAP_STATA" typo in the warning message.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the swap entry loop read the first entry repeatedly instead of
iterating with sep[i]. also free the allocation on error paths
and fix "SWAP_STATA" typo in the warning message.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix buffer overflow in battery state parsing</title>
<updated>2026-02-12T21:52:21+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-02-12T21:52:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=98769dfed7266b5a9959162e03bee1ddfaf5ecb4'/>
<id>98769dfed7266b5a9959162e03bee1ddfaf5ecb4</id>
<content type='text'>
"Not charging" is 12 characters; %12[a-zA-Z ] reads up to 12 chars
plus a NUL terminator (13 bytes) into a 12-byte buffer. Increase
state buffer to 13 in both battery_state and battery_remaining.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"Not charging" is 12 characters; %12[a-zA-Z ] reads up to 12 chars
plus a NUL terminator (13 bytes) into a 12-byte buffer. Increase
state buffer to 13 in both battery_state and battery_remaining.
</pre>
</div>
</content>
</entry>
<entry>
<title>wifi: always retry ioctl for ifindex</title>
<updated>2026-02-12T21:46:02+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-02-12T21:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=4f61bbbd8e9278c75f29e7853ae8922717261d2d'/>
<id>4f61bbbd8e9278c75f29e7853ae8922717261d2d</id>
<content type='text'>
ifindex() caches the result of ioctl(SIOCGIFINDEX) and never
retries it, since the interface name strcmp succeeds after the
first call. if the interface does not exist when slstatus starts
(e.g. iwd with default config destroys/recreates interfaces
depending on service state), the ioctl fails and the stale
result is returned on all subsequent calls.

based on a patch by ryhpez, with input from Taha Medhous
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ifindex() caches the result of ioctl(SIOCGIFINDEX) and never
retries it, since the interface name strcmp succeeds after the
first call. if the interface does not exist when slstatus starts
(e.g. iwd with default config destroys/recreates interfaces
depending on service state), the ioctl fails and the stale
result is returned on all subsequent calls.

based on a patch by ryhpez, with input from Taha Medhous
</pre>
</div>
</content>
</entry>
<entry>
<title>volume: avoid NULL dereference in onval() on sndio device switch</title>
<updated>2026-02-12T21:45:28+00:00</updated>
<author>
<name>Chris Billington</name>
<email>emulti@disroot.org</email>
</author>
<published>2025-11-21T04:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=6fa36bad9f74154d4bf3be834ada93e04bf737e1'/>
<id>6fa36bad9f74154d4bf3be834ada93e04bf737e1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>more concise memory calculation on Linux</title>
<updated>2025-07-24T20:41:25+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2025-07-24T20:41:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=8723e8b8c69c08bae8abe02ea1f4a49758b8bdfc'/>
<id>8723e8b8c69c08bae8abe02ea1f4a49758b8bdfc</id>
<content type='text'>
more flexible parsing for /proc/meminfo to take shared and reclaimable
memory into account. this matches the output with free(1).

additionally this could fix some corner cases, as the order of fields in
/proc/meminfo is not strictly defined.

slstatus:
percent 81% free 2.5 Gi total 23.4 Gi used 19.0 Gi

free(1):
               total        used        free      shared  buff/cache   available
Mem:            23Gi        19Gi       2.5Gi       1.3Gi       3.2Gi       3.6Gi
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
more flexible parsing for /proc/meminfo to take shared and reclaimable
memory into account. this matches the output with free(1).

additionally this could fix some corner cases, as the order of fields in
/proc/meminfo is not strictly defined.

slstatus:
percent 81% free 2.5 Gi total 23.4 Gi used 19.0 Gi

free(1):
               total        used        free      shared  buff/cache   available
Mem:            23Gi        19Gi       2.5Gi       1.3Gi       3.2Gi       3.6Gi
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor wifi on linux</title>
<updated>2025-04-30T02:00:53+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2025-04-30T01:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=3db023f13b85de9cd63096d17b025a6cce39ef88'/>
<id>3db023f13b85de9cd63096d17b025a6cce39ef88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add 'up' for whether a interface is up or down</title>
<updated>2025-04-30T01:09:55+00:00</updated>
<author>
<name>sewn</name>
<email>sewn@disroot.org</email>
</author>
<published>2024-03-15T21:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=af508f0b4cf88b1921c59fdf5dd1a98c08223fa5'/>
<id>af508f0b4cf88b1921c59fdf5dd1a98c08223fa5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
