mirror of
https://github.com/cmur2/dyndnsd.git
synced 2024-12-22 00:54:22 +01:00
dyndnsd: handle potential nil cases detected by sorbet
- including review suggestions from @jgraichen
This commit is contained in:
parent
591c0fe89a
commit
e96a918a81
@ -113,8 +113,14 @@ module Dyndnsd
|
||||
|
||||
# drop priviliges as soon as possible
|
||||
# NOTE: first change group than user
|
||||
Process::Sys.setgid(Etc.getgrnam(config['group']).gid) if config['group']
|
||||
Process::Sys.setuid(Etc.getpwnam(config['user']).uid) if config['user']
|
||||
if config['group']
|
||||
group = Etc.getgrnam(config['group'])
|
||||
Process::Sys.setgid(group.gid) if group
|
||||
end
|
||||
if config['user']
|
||||
user = Etc.getpwnam(config['user'])
|
||||
Process::Sys.setuid(user.uid) if user
|
||||
end
|
||||
|
||||
setup_traps
|
||||
|
||||
|
@ -16,7 +16,7 @@ module Dyndnsd
|
||||
# @return [void]
|
||||
def load
|
||||
if File.file?(@db_file)
|
||||
@db = JSON.parse(File.open(@db_file, 'r', &:read))
|
||||
@db = JSON.parse(File.read(@db_file, mode: 'r'))
|
||||
else
|
||||
@db = {}
|
||||
end
|
||||
|
@ -58,7 +58,7 @@ module Dyndnsd
|
||||
'error.kind': e.class.to_s,
|
||||
'error.object': e,
|
||||
message: e.message,
|
||||
stack: e.backtrace.join("\n")
|
||||
stack: e.backtrace&.join("\n") || ''
|
||||
)
|
||||
raise
|
||||
ensure
|
||||
|
@ -15,7 +15,7 @@ module Dyndnsd
|
||||
# @return [void]
|
||||
def update(db)
|
||||
Helper.span('updater_update') do |span|
|
||||
span.set_tag('dyndnsd.updater.name', self.class.name.split('::').last)
|
||||
span.set_tag('dyndnsd.updater.name', self.class.name&.split('::')&.last || 'None')
|
||||
|
||||
# write zone file in bind syntax
|
||||
File.open(@zone_file, 'w') { |f| f.write(@generator.generate(db)) }
|
||||
@ -25,7 +25,7 @@ module Dyndnsd
|
||||
end
|
||||
|
||||
# detach so children don't become zombies
|
||||
Process.detach(pid)
|
||||
Process.detach(pid) if pid
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user