-
Notifications
You must be signed in to change notification settings - Fork 558
Fixing panic issue in Validate when properties are nil #3242
Conversation
pkg/api/v20160330/validate.go
Outdated
@@ -65,6 +65,9 @@ func (l *LinuxProfile) Validate() error { | |||
|
|||
// Validate implements APIObject | |||
func (a *Properties) Validate() error { | |||
if a == nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you point to some references that suggest that this is idiomatic golang? I think we prefer to do this nil-type validation before the method is invoked.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yes, I did think of that initially. But I decided against it as I supposed this it'd be more consistent to put it within the Validate method. I'll make the change and push it.
1f8044c
to
71989e7
Compare
@jackfrancis I've made the changes. As for the references, I am not sure if adding multiple comments is a good idea. I thought of pointing to this as a reference for other readers , https://golang.org/doc/faq#nil_error. Thoughts? |
Codecov Report
@@ Coverage Diff @@
## master #3242 +/- ##
==========================================
+ Coverage 52.72% 52.73% +<.01%
==========================================
Files 103 103
Lines 15461 15471 +10
==========================================
+ Hits 8152 8158 +6
- Misses 6569 6573 +4
Partials 740 740 |
@shrutir25 @amanohar @weinong how does this PR align with #3197 ? |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jackfrancis, tariq1890 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* 'master' of https://github.com/Azure/acs-engine: (44 commits) remove duplicate ebtables (Azure#3308) Kubernetes: Remove Windows-specific foo for control plane config (Azure#3240) add k8s 1.8.14 (Azure#3303) run /usr/lib/apt/apt.systemd.daily in background (Azure#3304) add annotation to secrets field (Azure#3292) fix(oms): pull oms directly from docker (Azure#3294) ensure params vals are bool, with test (Azure#3285) udpate to latest 16.04 LTS image (Azure#3286) Enable openshift e2e tests on centos (Azure#2910) remove docker dependency from hyperkube extract (Azure#3296) remove pathological test (Azure#3291) Refactor validateDNSPrefix function in one place (Azure#3276) remove unnecessary nil check (Azure#3290) Fixing panic issue in Validate when properties are nil (Azure#3242) Updating the omsagent yaml file to include new changes for node zero dependency (Azure#3277) revert Azure CNI to 1.0.4 (Azure#3289) Add e2e test for openshift vnet (Azure#3274) Support upgrading a Kubernetes cluster that contains Virtual Machine Scale Sets (Azure#3223) Set extension for custom DNS (Azure#3264) don't exit CSE on apt.systemd.daily error (Azure#3278) ...
What this PR does / why we need it: Avoiding panics during validation
Which issue this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close that issue when PR gets merged): fixes #2586 fixes #1820Special notes for your reviewer:
If applicable:
Release note: