]> granicus.if.org Git - libnl/commit
nl_recv(): Memory allocation errors are handled properly now
authorКоренберг Марк (дома) <socketpair@gmail.com>
Fri, 19 Oct 2012 16:58:58 +0000 (22:58 +0600)
committerКоренберг Марк (дома) <socketpair@gmail.com>
Fri, 19 Oct 2012 17:48:46 +0000 (23:48 +0600)
commit69468517d0de1675d80f24661ff57a5dbac7275c
treee759667b534255a720744b5ce1f57d877bfdb184
parent9d6b104ec8b4dc8ce182158bf6c81db23e937c5f
nl_recv(): Memory allocation errors are handled properly now

1. all cleanup actions (like free()) now located at the end of function
2. in case of error or EOF, *buf and *creds (if given) set to NULL
   This protect from invalid code at user's side, like:
   char *buf;
   x = nl_recv(..., &buf, ...);
   if (x<=0)
      goto cleanup;
   cleanup:
      free(buf);
3. all intermediate buffers are stored into local variables, and user's
   variables only touches at the end.
lib/nl.c