aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-12-08 04:47:31 +0000
committerMarcus Brinkmann <[email protected]>2009-12-08 04:47:31 +0000
commit6cf936458422a8e31f1a32369630eae3979b35df (patch)
tree56c0113edb8dc62b4d2098155015ff29f52b78e3
parent2009-12-08 Marcus Brinkmann <[email protected]> (diff)
downloadlibassuan-6cf936458422a8e31f1a32369630eae3979b35df.tar.gz
libassuan-6cf936458422a8e31f1a32369630eae3979b35df.zip
2009-12-08 Marcus Brinkmann <[email protected]>
* assuan_fd_from_posix_fd (assuan_fd_from_posix_fd): Handle invalid fd early.
-rw-r--r--src/ChangeLog2
-rw-r--r--src/assuan.h5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ff99e3a..cfd7387 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
2009-12-08 Marcus Brinkmann <[email protected]>
+ * assuan_fd_from_posix_fd (assuan_fd_from_posix_fd): Handle invalid fd early.
+
* assuan-socket.c (get_nonce): Cast buffer to unsigned.
(_assuan_sock_connect) [HAVE_W32_SYSTEM]: Drop ctx argument from
read_port_and_nonce invocation.
diff --git a/src/assuan.h b/src/assuan.h
index abc549e..7f78c0c 100644
--- a/src/assuan.h
+++ b/src/assuan.h
@@ -88,7 +88,10 @@ typedef void *assuan_fd_t;
static inline assuan_fd_t
assuan_fd_from_posix_fd (int fd)
{
- return (assuan_fd_t) _get_osfhandle (fd);
+ if (fd < 0)
+ return ASSUAN_INVALID_FD;
+ else
+ return (assuan_fd_t) _get_osfhandle (fd);
}
#else
typedef int assuan_fd_t;