if (accept_cached) {
packet = strdup("c");
n = 1;
} else
asprintf(&packet, "*002円%c%s%n", (int) (strlen(message) + 1), message, &n);
if (!packet) {
r = -ENOMEM;
goto finish;
}
Bien qu'avant il y ait char *packet = NULL;, rien ne garantit d'après le man de asprintf qu'en cas d'erreur, asprintf n'ait pas changé la valeur de packet par quelque chose de différent de NULL => Boum. Ça commence bien.
[^] # Re: Ca traduit bien un état d'esprit de la part des développeurs de systemd
Posté par gnx . En réponse au journal Systemd vs Linux, quand l'intransigeance d'un développeur tourne au ridicule.... Évalué à 3.
Vers la ligne 102
Bien qu'avant il y ait
char *packet = NULL;, rien ne garantit d'après le man deasprintfqu'en cas d'erreur,asprintfn'ait pas changé la valeur depacketpar quelque chose de différent deNULL=> Boum. Ça commence bien.Il faut tester le retour de
asprintf.