<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slstatus, branch master</title>
<subtitle>The suckless status bar.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/'/>
<entry>
<title>Updated config.h</title>
<updated>2026-07-04T03:15:25+00:00</updated>
<author>
<name>Sadeep Madurange</name>
<email>sadeep@asciimx.com</email>
</author>
<published>2026-07-04T03:15:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=65c22bcb8446cf3949b5996f9c5f9359efeaea43'/>
<id>65c22bcb8446cf3949b5996f9c5f9359efeaea43</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Default config + OpenBSD config.mk</title>
<updated>2026-07-04T03:12:02+00:00</updated>
<author>
<name>Sadeep Madurange</name>
<email>sadeep@asciimx.com</email>
</author>
<published>2026-07-04T03:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=e18a79a6ad6455f9df379e85199949f6b893ce75'/>
<id>e18a79a6ad6455f9df379e85199949f6b893ce75</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Gitignore.</title>
<updated>2026-07-04T03:09:18+00:00</updated>
<author>
<name>Sadeep Madurange</name>
<email>sadeep@asciimx.com</email>
</author>
<published>2026-07-04T03:09:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=a1d3708fb19871c49619d0c9b7280a680c918c1b'/>
<id>a1d3708fb19871c49619d0c9b7280a680c918c1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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>license: bump copyright year</title>
<updated>2026-02-12T21:54:11+00:00</updated>
<author>
<name>drkhsh</name>
<email>me@drkhsh.at</email>
</author>
<published>2026-02-12T21:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.asciimx.com/slstatus/commit/?id=614c275b42064c5433fbb086e7d9639a19f1f127'/>
<id>614c275b42064c5433fbb086e7d9639a19f1f127</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
</feed>
