diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2004-08-08 15:13:06 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2004-08-08 15:13:06 +0000 |
| commit | 3da79e6d41d7feb6eb2f6e61a1712fdeca4fb46c (patch) | |
| tree | 4474956ae190044aa59bf8c4be23d3131427ade2 /include/functions.c | |
| parent | 37568f78334d10a6b9b68e9c96f0694fce3ae6b0 (diff) | |
- added housekeeping of trends (Alexei)
- added column items.trends (Alexei)
- added escaping of SQL statements where needed (Alexei)
- added src/zabbix_sucker/checks_agent.[h,c] (Alexei)
- added src/zabbix_sucker/checks_internal.[h,c] (Alexei)
- added src/zabbix_sucker/checks_snmp.[h,c] (Alexei)
- added src/zabbix_sucker/checks_simple.[h,c] (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@1378 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'include/functions.c')
| -rw-r--r-- | include/functions.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/functions.c b/include/functions.c index 0412373c..f2ccde94 100644 --- a/include/functions.c +++ b/include/functions.c @@ -555,6 +555,7 @@ void update_functions(DB_ITEM *item) DB_RESULT *result; char sql[MAX_STRING_LEN]; char value[MAX_STRING_LEN]; + char value_esc[MAX_STRING_LEN]; int ret=SUCCEED; int i; @@ -583,7 +584,8 @@ void update_functions(DB_ITEM *item) zabbix_log( LOG_LEVEL_DEBUG, "Result:%f\n",value); if (ret == SUCCEED) { - snprintf(sql,sizeof(sql)-1,"update functions set lastvalue='%s' where itemid=%d and function='%s' and parameter='%s'", value, function.itemid, function.function, function.parameter ); + DBescape_string(value,value_esc,MAX_STRING_LEN); + snprintf(sql,sizeof(sql)-1,"update functions set lastvalue='%s' where itemid=%d and function='%s' and parameter='%s'", value_esc, function.itemid, function.function, function.parameter ); DBexecute(sql); } } @@ -1173,6 +1175,7 @@ void process_new_value(DB_ITEM *item,char *value) { int now; char sql[MAX_STRING_LEN]; + char value_esc[MAX_STRING_LEN]; double value_double; char *e; @@ -1225,7 +1228,8 @@ void process_new_value(DB_ITEM *item,char *value) { if((item->prevvalue_null == 1) || (strcmp(value,item->lastvalue_str) != 0) || (strcmp(item->prevvalue_str,item->lastvalue_str) != 0) ) { - snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value,now,item->itemid); + DBescape_string(value,value_esc,MAX_STRING_LEN); + snprintf(sql,sizeof(sql)-1,"update items set nextcheck=%d,prevvalue=lastvalue,lastvalue='%s',lastclock=%d where itemid=%d",now+item->delay,value_esc,now,item->itemid); item->prevvalue=item->lastvalue; item->lastvalue=value_double; item->prevvalue_str=item->lastvalue_str; |
