1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-06 16:23:49 +03:00

r14353: Fix coverity bugs #61 and #62. Remember to divide by

the size of the data table. Clean up the struct a little.
Jeremy.
This commit is contained in:
Jeremy Allison
2006-03-13 23:07:14 +00:00
committed by Gerald (Jerry) Carter
parent d793e1550c
commit 338538410d
2 changed files with 19 additions and 24 deletions

View File

@@ -810,7 +810,7 @@ typedef struct spool_notify_info_data
}
notify_data;
uint32 size;
BOOL enc_type;
uint32 enc_type;
} SPOOL_NOTIFY_INFO_DATA;
typedef struct spool_notify_info

View File

@@ -3441,25 +3441,22 @@ static uint32 size_of_notify_info_data(uint16 type, uint16 field)
{
int i=0;
for (i = 0; i < sizeof(notify_info_data_table); i++)
{
for (i = 0; i < (sizeof(notify_info_data_table)/sizeof(struct s_notify_info_data_table)); i++) {
if ( (notify_info_data_table[i].type == type)
&& (notify_info_data_table[i].field == field) )
{
switch(notify_info_data_table[i].size)
{
case NOTIFY_ONE_VALUE:
case NOTIFY_TWO_VALUE:
return 1;
case NOTIFY_STRING:
return 2;
&& (notify_info_data_table[i].field == field) ) {
switch(notify_info_data_table[i].size) {
case NOTIFY_ONE_VALUE:
case NOTIFY_TWO_VALUE:
return 1;
case NOTIFY_STRING:
return 2;
/* The only pointer notify data I have seen on
the wire is the submitted time and this has
the notify size set to 4. -tpot */
/* The only pointer notify data I have seen on
the wire is the submitted time and this has
the notify size set to 4. -tpot */
case NOTIFY_POINTER:
return 4;
case NOTIFY_POINTER:
return 4;
case NOTIFY_SECDESC:
return 5;
@@ -3476,23 +3473,23 @@ static uint32 size_of_notify_info_data(uint16 type, uint16 field)
Return the type of notify_info_data.
********************************************************************/
static int type_of_notify_info_data(uint16 type, uint16 field)
static uint32 type_of_notify_info_data(uint16 type, uint16 field)
{
int i=0;
uint32 i=0;
for (i = 0; i < sizeof(notify_info_data_table); i++) {
for (i = 0; i < (sizeof(notify_info_data_table)/sizeof(struct s_notify_info_data_table)); i++) {
if (notify_info_data_table[i].type == type &&
notify_info_data_table[i].field == field)
return notify_info_data_table[i].size;
}
return False;
return 0;
}
/****************************************************************************
****************************************************************************/
static int search_notify(uint16 type, uint16 field, int *value)
static BOOL search_notify(uint16 type, uint16 field, int *value)
{
int i;
@@ -3521,10 +3518,8 @@ void construct_info_data(SPOOL_NOTIFY_INFO_DATA *info_data, uint16 type, uint16
info_data->enc_type = type_of_notify_info_data(type, field);
info_data->id = id;
}
/*******************************************************************
*
* fill a notify_info struct with info asked