Return NULL if tevent_add_fd() is passed a negative fd
authorStephen Gallagher <sgallagh@redhat.com>
Mon, 14 Feb 2011 15:29:49 +0000 (10:29 -0500)
committerSimo Sorce <idra@samba.org>
Mon, 14 Feb 2011 16:47:03 +0000 (17:47 +0100)
Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Mon Feb 14 17:47:03 CET 2011 on sn-devel-104

lib/tevent/tevent_fd.c

index c58e8e1ab1864c30bdb0be188c2f31fe6939f2fb..455961b67c840db4dc90606b039030eb1ccf308d 100644 (file)
@@ -51,6 +51,12 @@ struct tevent_fd *tevent_common_add_fd(struct tevent_context *ev, TALLOC_CTX *me
 {
        struct tevent_fd *fde;
 
+       /* tevent will crash later on select() if we save
+        * a negative file descriptor. Better to fail here
+        * so that consumers will be able to debug it
+        */
+       if (fd < 0) return NULL;
+
        fde = talloc(mem_ctx?mem_ctx:ev, struct tevent_fd);
        if (!fde) return NULL;