mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
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 834b09929b
)
This commit is contained in:
parent
343545a883
commit
72093ce62f
@ -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.
|
||||
*/
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user