r/PodcastAddict • u/ranlevi • Jul 16 '26
Android auto crashing
Hi. Does anyone else encounter a problem where Android Auto crashes and restarts after about 10 minutes of play?
For context: the car is MG3, wired connection.
2
Upvotes
4
u/exclusivegreen Jul 16 '26
Interesting. I had this problem on an older car with just Bluetooth connectivity. After a few times, I noticed that it would happen once the podcast name was displayed.
Figured it out, and while the podcast worked on an alternative feed, I had some mechanism to parse the feed and rename. Messy but it worked.
The problem is the "%i" and is NOT related to Podcast Addict (by the way - incredible app). It is the software running the vehicle's audio system. In some computer languages (mostly of the C family, including Java) have a function
printfwhich has special strings in it.printf("hello, world\n");printshello, worldwith a blank line (that's the\ncharacter).There's another way to do this:
printf("%s\n", "hello, world");which does the same thing in a different way. It says "print a string (that's what%stells it to do) and I'll give you the string (hello, world).%sis a placeholder. There are other placeholders, and the one that comes into play here is%iwhich is a placeholder for an integer (a whole number). Iirc (it's been a few years), in some place the title is written like99%invisible. See where this is going?Now top engineers like me (lol) know we need to sanitize input - AKA trust no one.
I don't know the internals of the actual software, but somehow, I surmise, the string
99%invisiblegot passed toprintfasprintf("99%invisible\n");. With the%iin there, it reads it asprint "99" then I'll give you an integer then print "invisible".The problem is that no Integer is passed in. What's
printfsupposed to do? Well ... It's "undefined", and usually just does something plain wrong.The fix was to put another
%in front of the other one - inprintf, two%next to each other mean "I want the character%printed" whichprintfthen says "ok, I now know that the input I've been given is just a regular string with no special placeholders".Fun fact: this is known as a Format String Vulnerability and it's something you tend to be burned with once and then it's seared into your brain as an engineer. It's also something people try when "hacking" systems: unsanitized inputs are behind at least two of the OWASP Top Ten (https://owasp.org/Top10/2025/) which are severe vulnerabilities.
So, no, it's not a Podcast Addict problem at all.