No, it's not. That deceives programmers into thinking "oh, it's just some random garbage", but it's not. It's not random, and it's not merely "garbage". It's an incredible interplay between the exact allocation patterns of your program and user input, and results in that glossy word "uninitialized" including things like "user passwords", "private keys", "shell code" (that is, attacker-supplied arbitrary assembly code), and arbitrary other non-garbage information that you may not appreciate having at at this point in the program that is completely oblivious about what is in that "uninitialized".
Uninitialized isn't "a mess that you really ought to clean up before using", it's radioactive waste.
If you want to tell me that you really do think of "uninitialized" that way every time you use it, I have no grounds to disagree with you personally... but based on the code in the wild, it does not seem that most C programmers do have a correct understanding of the issue.
(People who develop the proper level of concern about handling radioactive waste tend to find ways to stop programming in languages that don't default to handing back nuclear waste on every memory allocation. I suspect some form of evaporative cooling may be a problem here.)
Uninitialized isn't "a mess that you really ought to clean up before using", it's radioactive waste.
If you want to tell me that you really do think of "uninitialized" that way every time you use it, I have no grounds to disagree with you personally... but based on the code in the wild, it does not seem that most C programmers do have a correct understanding of the issue.
(People who develop the proper level of concern about handling radioactive waste tend to find ways to stop programming in languages that don't default to handing back nuclear waste on every memory allocation. I suspect some form of evaporative cooling may be a problem here.)