diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-10-19 12:06:01 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:01:55 -0500 |
commit | 72093ce62f1e09db86452720fe8280ad66824cde (patch) | |
tree | 62aa8cb4fc470254be4283efb20669858ab21189 | |
parent | 343545a8836d1665bb3c41974d743b03fd0b6446 (diff) | |
download | samba-72093ce62f1e09db86452720fe8280ad66824cde.tar.gz samba-72093ce62f1e09db86452720fe8280ad66824cde.tar.bz2 samba-72093ce62f1e09db86452720fe8280ad66824cde.zip |
r3064: - use UINT8_MAX and UINT16_MAX instead of hex values for idr_get_new() limits
- change idr_get_new() to use > instead of >= in the limit check
(This used to be commit 834b09929bcb8aabdd151b7c2306001497cabdb4)
-rw-r--r-- | source4/include/includes.h | 8 | ||||
-rw-r--r-- | source4/lib/idtree.c | 4 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_open.c | 2 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_search.c | 4 | ||||
-rw-r--r-- | source4/smb_server/conn.c | 2 |
5 files changed, 14 insertions, 6 deletions
diff --git a/source4/include/includes.h b/source4/include/includes.h index 85e4299efd..0290f652ab 100644 --- a/source4/include/includes.h +++ b/source4/include/includes.h @@ -466,6 +466,14 @@ typedef int socklen_t; #define uint64 uint64_t #endif +#ifndef UINT8_MAX +#define UINT8_MAX 255 +#endif + +#ifndef UINT16_MAX +#define UINT16_MAX 65535 +#endif + /* * Types for devices, inodes and offsets. */ diff --git a/source4/lib/idtree.c b/source4/lib/idtree.c index 80f7df97a0..1243c4f3b9 100644 --- a/source4/lib/idtree.c +++ b/source4/lib/idtree.c @@ -322,7 +322,7 @@ void *idr_init(TALLOC_CTX *mem_ctx) int idr_get_new(void *idp, void *ptr, int limit) { int ret = idr_get_new_above_int((struct idr *)idp, ptr, 0); - if (ret >= limit) { + if (ret > limit) { idr_remove(idp, ret); return -1; } @@ -336,7 +336,7 @@ int idr_get_new(void *idp, void *ptr, int limit) int idr_get_new_above(void *idp, void *ptr, int starting_id, int limit) { int ret = idr_get_new_above_int((struct idr *)idp, ptr, starting_id); - if (ret >= limit) { + if (ret > limit) { idr_remove(idp, ret); return -1; } diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c index c255558369..fb81c86bcc 100644 --- a/source4/ntvfs/posix/pvfs_open.c +++ b/source4/ntvfs/posix/pvfs_open.c @@ -157,7 +157,7 @@ NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs, return NT_STATUS_NO_MEMORY; } - fnum = idr_get_new(pvfs->idtree_fnum, f, 0x10000); + fnum = idr_get_new(pvfs->idtree_fnum, f, UINT16_MAX); if (fnum == -1) { talloc_free(f); return NT_STATUS_TOO_MANY_OPENED_FILES; diff --git a/source4/ntvfs/posix/pvfs_search.c b/source4/ntvfs/posix/pvfs_search.c index 7b0da321d3..1464609e98 100644 --- a/source4/ntvfs/posix/pvfs_search.c +++ b/source4/ntvfs/posix/pvfs_search.c @@ -287,7 +287,7 @@ static NTSTATUS pvfs_search_first_old(struct ntvfs_module_context *ntvfs, /* we need to give a handle back to the client so it can continue a search */ - id = idr_get_new(pvfs->idtree_search, search, 0x100); + id = idr_get_new(pvfs->idtree_search, search, UINT8_MAX); if (id == -1) { return NT_STATUS_INSUFFICIENT_RESOURCES; } @@ -415,7 +415,7 @@ NTSTATUS pvfs_search_first(struct ntvfs_module_context *ntvfs, return status; } - id = idr_get_new(pvfs->idtree_search, search, 0x10000); + id = idr_get_new(pvfs->idtree_search, search, UINT16_MAX); if (id == -1) { return NT_STATUS_INSUFFICIENT_RESOURCES; } diff --git a/source4/smb_server/conn.c b/source4/smb_server/conn.c index 3cff83055d..cdfd3a0bcd 100644 --- a/source4/smb_server/conn.c +++ b/source4/smb_server/conn.c @@ -59,7 +59,7 @@ struct smbsrv_tcon *conn_new(struct smbsrv_connection *smb_conn) tcon = talloc_zero_p(smb_conn, struct smbsrv_tcon); if (!tcon) return NULL; - i = idr_get_new(smb_conn->tree.idtree_tid, tcon, UINT16_MAX + 1); + i = idr_get_new(smb_conn->tree.idtree_tid, tcon, UINT16_MAX); if (i == -1) { DEBUG(1,("ERROR! Out of connection structures\n")); return NULL; |