# y virDomainWatchdogDefFree
# n virDrvNodeGetCellsFreeMemory (returns int)
# n virDrvNodeGetFreeMemory (returns long long)
-# n virFree (dereferences param)
+# n virFree - dereferences param
# n virFreeError
# n virHashFree (takes 2 args)
# y virInterfaceDefFree
halt='flags should be unsigned' \
$(_sc_search_regexp)
+# Avoid functions that should only be called via macro counterparts.
+sc_prohibit_internal_functions:
+ @prohibit='vir(Free|AllocN?|ReallocN|File(Close|Fclose|Fdopen)) *\(' \
+ halt='use VIR_ macros instead of internal functions' \
+ $(_sc_search_regexp)
+
# Avoid functions that can lead to double-close bugs.
sc_prohibit_close:
@prohibit='([^>.]|^)\<[fp]?close *\(' \
exclude_file_name_regexp--sc_prohibit_gethostname = ^src/util/util\.c$$
+exclude_file_name_regexp--sc_prohibit_internal_functions = \
+ ^src/(util/(memory|util|virfile)\.[hc]|esx/esx_vi\.c)$$
+
exclude_file_name_regexp--sc_prohibit_newline_at_end_of_diagnostic = \
^src/rpc/gendispatch\.pl$$
return 0;
mem_error:
virReportOOMError();
- virFree(data.srcPath);
- virFree(data.devAlias);
+ VIR_FREE(data.srcPath);
+ VIR_FREE(data.devAlias);
return -1;
}
mem_error:
virReportOOMError();
- virFree(data.srcPath);
- virFree(data.devAlias);
- virFree(data.reason);
+ VIR_FREE(data.srcPath);
+ VIR_FREE(data.devAlias);
+ VIR_FREE(data.reason);
return -1;
}
mem_error:
virReportOOMError();
- virFree(data.authScheme);
- virFree(data.local.node);
- virFree(data.local.service);
- virFree(data.remote.node);
- virFree(data.remote.service);
+ VIR_FREE(data.authScheme);
+ VIR_FREE(data.local.node);
+ VIR_FREE(data.local.service);
+ VIR_FREE(data.remote.node);
+ VIR_FREE(data.remote.service);
if (data.subject.subject_val != NULL) {
for (i = 0 ; i < data.subject.subject_len ; i++) {
- virFree(data.subject.subject_val[i].type);
- virFree(data.subject.subject_val[i].name);
+ VIR_FREE(data.subject.subject_val[i].type);
+ VIR_FREE(data.subject.subject_val[i].name);
}
- virFree(data.subject.subject_val);
+ VIR_FREE(data.subject.subject_val);
}
return -1;
}
mem_error:
virReportOOMError();
- virFree(data.path);
+ VIR_FREE(data.path);
return -1;
}