]> granicus.if.org Git - libnl/commitdiff
cache_mngr: Return proper error code if nl_socket_alloc() fails
authorTobias Klauser <tklauser@distanz.ch>
Tue, 17 Jun 2014 12:58:09 +0000 (14:58 +0200)
committerThomas Haller <thaller@redhat.com>
Tue, 17 Jun 2014 15:33:26 +0000 (17:33 +0200)
If nl_socket_alloc() failes in nl_cache_mngr_alloc() we would currently
return 0 due to the previous assignment of the err variable, even though
the failed allocation is an error condition. Fix this by setting err to
-NLE_NOMEM if nl_socket_alloc() fails.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Thomas Haller <thaller@redhat.com>
lib/cache_mngr.c

index 36f5ca89d29704168a248ff06719e6c6c5a6b18b..e24d44ca2760f37c6c7767dc08e9d8e11f555367 100644 (file)
@@ -173,8 +173,10 @@ int nl_cache_mngr_alloc(struct nl_sock *sk, int protocol, int flags,
 
        /* Create and allocate socket for sync cache fills */
        mngr->cm_sync_sock = nl_socket_alloc();
-       if (!mngr->cm_sync_sock)
+       if (!mngr->cm_sync_sock) {
+               err = -NLE_NOMEM;
                goto errout;
+       }
        if ((err = nl_connect(mngr->cm_sync_sock, protocol)) < 0)
                goto errout_free_sync_sock;