svn commit: samba r14354 - in trunk/source: include rpc_server
jra at samba.org
jra at samba.org
Mon Mar 13 23:07:24 GMT 2006
Author: jra
Date: 2006-03-13 23:07:20 +0000 (Mon, 13 Mar 2006)
New Revision: 14354
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14354
Log:
Fix coverity bugs #61 and #62. Remember to divide by
the size of the data table. Clean up the struct a little.
Jeremy.
Modified:
trunk/source/include/rpc_spoolss.h
trunk/source/rpc_server/srv_spoolss_nt.c
Changeset:
Modified: trunk/source/include/rpc_spoolss.h
===================================================================
--- trunk/source/include/rpc_spoolss.h 2006-03-13 23:07:14 UTC (rev 14353)
+++ trunk/source/include/rpc_spoolss.h 2006-03-13 23:07:20 UTC (rev 14354)
@@ -810,7 +810,7 @@
}
notify_data;
uint32 size;
- BOOL enc_type;
+ uint32 enc_type;
} SPOOL_NOTIFY_INFO_DATA;
typedef struct spool_notify_info
Modified: trunk/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- trunk/source/rpc_server/srv_spoolss_nt.c 2006-03-13 23:07:14 UTC (rev 14353)
+++ trunk/source/rpc_server/srv_spoolss_nt.c 2006-03-13 23:07:20 UTC (rev 14354)
@@ -3441,25 +3441,22 @@
{
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 @@
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 @@
info_data->enc_type = type_of_notify_info_data(type, field);
info_data->id = id;
-
}
-
/*******************************************************************
*
* fill a notify_info struct with info asked
More information about the samba-cvs
mailing list