|
| 1 | +<?xml version="1.0" encoding="UTF-8"?><record_update table="scan_table_check"> |
| 2 | + <scan_table_check action="INSERT_OR_UPDATE"> |
| 3 | + <active>true</active> |
| 4 | + <advanced>false</advanced> |
| 5 | + <category>performance</category> |
| 6 | + <conditions table="sp_widget">client_scriptLIKE$rootScope.$on^client_scriptNOT LIKE$scope.$on('destroy'^ORclient_scriptNOT LIKE$scope.$on("destroy"^EQ<item endquery="false" field="client_script" goto="false" newquery="false" operator="LIKE" or="false" value="$rootScope.$on"/> |
| 7 | + <item endquery="false" field="client_script" goto="false" newquery="false" operator="NOT LIKE" or="false" value="$scope.$on('destroy'"/> |
| 8 | + <item endquery="false" field="client_script" goto="false" newquery="false" operator="NOT LIKE" or="true" value="$scope.$on("destroy""/> |
| 9 | + <item endquery="true" field="" goto="false" newquery="false" operator="=" or="false" value=""/> |
| 10 | + </conditions> |
| 11 | + <description>$rootScope.$on listeners will remain in memory if not properly cleaned up. This will create a memory leak if the controller falls out of scope.</description> |
| 12 | + <documentation_url/> |
| 13 | + <finding_type>scan_finding</finding_type> |
| 14 | + <name>$rootScope.$on listener</name> |
| 15 | + <priority>1</priority> |
| 16 | + <resolution_details>api.controller = function ($rootScope, $scope) { |
| 17 | + /* widget controller */ |
| 18 | + var c = this; |
| 19 | + |
| 20 | + var deregister = $rootScope.$on("someevent", function () {}); |
| 21 | + |
| 22 | + $scope.$on("$destroy", function destroyScope() { |
| 23 | + deregister(); |
| 24 | + }); |
| 25 | +};</resolution_details> |
| 26 | + <run_condition/> |
| 27 | + <score_max>100</score_max> |
| 28 | + <score_min>0</score_min> |
| 29 | + <score_scale>1</score_scale> |
| 30 | + <script><![CDATA[(function (finding, current) { |
| 31 | +
|
| 32 | + |
| 33 | +
|
| 34 | +})(finding, current);]]></script> |
| 35 | + <short_description>Always deregister $rootScope.$on listeners on the scope $destory event</short_description> |
| 36 | + <sys_class_name>scan_table_check</sys_class_name> |
| 37 | + <sys_created_by>admin</sys_created_by> |
| 38 | + <sys_created_on>2021-10-27 20:20:15</sys_created_on> |
| 39 | + <sys_id>f0e1a8581b27705088d943fddc4bcbc3</sys_id> |
| 40 | + <sys_mod_count>8</sys_mod_count> |
| 41 | + <sys_name>$rootScope.$on listener</sys_name> |
| 42 | + <sys_package display_value="Example Instance Checks" source="x_appe_exa_checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_package> |
| 43 | + <sys_policy/> |
| 44 | + <sys_scope display_value="Example Instance Checks">ca8467c41b9abc10ce0f62c3b24bcbaa</sys_scope> |
| 45 | + <sys_update_name>scan_table_check_f0e1a8581b27705088d943fddc4bcbc3</sys_update_name> |
| 46 | + <sys_updated_by>admin</sys_updated_by> |
| 47 | + <sys_updated_on>2021-10-27 21:53:56</sys_updated_on> |
| 48 | + <table>sp_widget</table> |
| 49 | + <use_manifest>false</use_manifest> |
| 50 | + </scan_table_check> |
| 51 | +</record_update> |
0 commit comments