From bfbac8cc57d1b673ba2e4966b6bf3ba32f73eff1 Mon Sep 17 00:00:00 2001 From: bitspill Date: Fri, 16 Oct 2020 15:04:31 -0700 Subject: [PATCH] Variable collisions; Possible use of nil value (#256) * Variable '*' collides with imported package name * Variable 'error' collides with builtin interface * '*' may have 'nil' or other unexpected value as its corresponding error variable may be not 'nil' --- controllers/admin/hardware.go | 4 ++-- controllers/emoji.go | 8 ++++---- controllers/index.go | 10 +++++++++- core/chat/persistence.go | 3 +++ core/ffmpeg/transcoder.go | 6 +++--- core/rtmp/rtmp.go | 8 ++++---- core/storageproviders/local.go | 6 +++--- core/storageproviders/s3Storage.go | 22 +++++++++++----------- core/streamState.go | 2 +- yp/yp.go | 3 +-- 10 files changed, 41 insertions(+), 31 deletions(-) diff --git a/controllers/admin/hardware.go b/controllers/admin/hardware.go index 9f2995a73..1666acb83 100644 --- a/controllers/admin/hardware.go +++ b/controllers/admin/hardware.go @@ -9,8 +9,8 @@ import ( // GetHardwareStats will return hardware utilization over time func GetHardwareStats(w http.ResponseWriter, r *http.Request) { - metrics := metrics.Metrics + m := metrics.Metrics w.Header().Set("Content-Type", "application/json") - json.NewEncoder(w).Encode(metrics) + json.NewEncoder(w).Encode(m) } diff --git a/controllers/emoji.go b/controllers/emoji.go index b87f59780..b7b1ffac2 100644 --- a/controllers/emoji.go +++ b/controllers/emoji.go @@ -15,13 +15,13 @@ import ( // Make this path configurable if somebody has a valid reason // to need it to be. The config is getting a bit bloated. -const emojiPath = "/img/emoji" // Relative to webroot +const emojiDir = "/img/emoji" // Relative to webroot //GetCustomEmoji returns a list of custom emoji via the API func GetCustomEmoji(w http.ResponseWriter, r *http.Request) { emojiList := make([]models.CustomEmoji, 0) - fullPath := filepath.Join(config.WebRoot, emojiPath) + fullPath := filepath.Join(config.WebRoot, emojiDir) files, err := ioutil.ReadDir(fullPath) if err != nil { log.Errorln(err) @@ -34,8 +34,8 @@ func GetCustomEmoji(w http.ResponseWriter, r *http.Request) { // the server to add emoji? for _, f := range files { name := strings.TrimSuffix(f.Name(), path.Ext(f.Name())) - path := filepath.Join(emojiPath, f.Name()) - singleEmoji := models.CustomEmoji{name, path} + emojiPath := filepath.Join(emojiDir, f.Name()) + singleEmoji := models.CustomEmoji{name, emojiPath} emojiList = append(emojiList, singleEmoji) } diff --git a/controllers/index.go b/controllers/index.go index d802d326b..f83a6b059 100644 --- a/controllers/index.go +++ b/controllers/index.go @@ -64,7 +64,13 @@ func handleScraperMetadataPage(w http.ResponseWriter, r *http.Request) { tmpl := template.Must(template.ParseFiles(path.Join("static", "metadata.html"))) fullURL, err := url.Parse(fmt.Sprintf("http://%s%s", r.Host, r.URL.Path)) + if err != nil { + log.Panicln(err) + } imageURL, err := url.Parse(fmt.Sprintf("http://%s%s", r.Host, config.Config.InstanceDetails.Logo.Large)) + if err != nil { + log.Panicln(err) + } status := core.GetStatus() @@ -74,8 +80,10 @@ func handleScraperMetadataPage(w http.ResponseWriter, r *http.Request) { thumbnail, err := url.Parse(fmt.Sprintf("http://%s%s", r.Host, "/thumbnail.jpg")) if err != nil { log.Errorln(err) + thumbnailURL = imageURL.String() + } else { + thumbnailURL = thumbnail.String() } - thumbnailURL = thumbnail.String() } else { thumbnailURL = imageURL.String() } diff --git a/core/chat/persistence.go b/core/chat/persistence.go index bc9522346..65bb65930 100644 --- a/core/chat/persistence.go +++ b/core/chat/persistence.go @@ -50,6 +50,9 @@ func createTable(db *sql.DB) { func addMessage(message models.ChatMessage) { tx, err := _db.Begin() + if err != nil { + log.Fatal(err) + } stmt, err := tx.Prepare("INSERT INTO messages(id, author, body, messageType, visible, timestamp) values(?, ?, ?, ?, ?, ?)") if err != nil { log.Fatal(err) diff --git a/core/ffmpeg/transcoder.go b/core/ffmpeg/transcoder.go index cde3a37f1..14523620b 100644 --- a/core/ffmpeg/transcoder.go +++ b/core/ffmpeg/transcoder.go @@ -69,9 +69,9 @@ func (v *VideoSize) getString() string { func (t *Transcoder) Stop() { log.Traceln("Transcoder STOP requested.") - error := _commandExec.Process.Kill() - if error != nil { - log.Errorln(error) + err := _commandExec.Process.Kill() + if err != nil { + log.Errorln(err) } } diff --git a/core/rtmp/rtmp.go b/core/rtmp/rtmp.go index 3ba44be82..419e289ce 100644 --- a/core/rtmp/rtmp.go +++ b/core/rtmp/rtmp.go @@ -34,8 +34,8 @@ func Start() { port := 1935 s := rtmp.NewServer() var lis net.Listener - var error error - if lis, error = net.Listen("tcp", fmt.Sprintf(":%d", port)); error != nil { + var err error + if lis, err = net.Listen("tcp", fmt.Sprintf(":%d", port)); err != nil { return } @@ -46,8 +46,8 @@ func Start() { s.HandleConn = HandleConn - if error != nil { - log.Panicln(error) + if err != nil { + log.Panicln(err) } log.Infof("RTMP server is listening for incoming stream on port: %d", port) diff --git a/core/storageproviders/local.go b/core/storageproviders/local.go index 21d2715d4..755a91388 100644 --- a/core/storageproviders/local.go +++ b/core/storageproviders/local.go @@ -40,9 +40,9 @@ func (s *LocalStorage) SegmentWritten(localFilePath string) { // VariantPlaylistWritten is called when a variant hls playlist is written func (s *LocalStorage) VariantPlaylistWritten(localFilePath string) { - _, error := s.Save(localFilePath, 0) - if error != nil { - log.Errorln(error) + _, err := s.Save(localFilePath, 0) + if err != nil { + log.Errorln(err) return } } diff --git a/core/storageproviders/s3Storage.go b/core/storageproviders/s3Storage.go index 9d2a35341..53477d79a 100644 --- a/core/storageproviders/s3Storage.go +++ b/core/storageproviders/s3Storage.go @@ -72,9 +72,9 @@ func (s *S3Storage) SegmentWritten(localFilePath string) { utils.StartPerformanceMonitor(performanceMonitorKey) // Upload the segment - _, error := s.Save(localFilePath, 0) - if error != nil { - log.Errorln(error) + _, err := s.Save(localFilePath, 0) + if err != nil { + log.Errorln(err) return } averagePerformance := utils.GetAveragePerformance(performanceMonitorKey) @@ -89,11 +89,11 @@ func (s *S3Storage) SegmentWritten(localFilePath string) { // Upload the variant playlist for this segment // so the segments and the HLS playlist referencing // them are in sync. - playlist := filepath.Join(filepath.Dir(localFilePath), "stream.m3u8") - _, error = s.Save(playlist, 0) - if error != nil { - _queuedPlaylistUpdates[playlist] = playlist - if pErr, ok := error.(*os.PathError); ok { + playlistPath := filepath.Join(filepath.Dir(localFilePath), "stream.m3u8") + _, err = s.Save(playlistPath, 0) + if err != nil { + _queuedPlaylistUpdates[playlistPath] = playlistPath + if pErr, ok := err.(*os.PathError); ok { log.Debugln(pErr.Path, "does not yet exist locally when trying to upload to S3 storage.") return } @@ -106,9 +106,9 @@ func (s *S3Storage) VariantPlaylistWritten(localFilePath string) { // to make sure we're not refering to files in a playlist that don't // yet exist. See SegmentWritten. if _, ok := _queuedPlaylistUpdates[localFilePath]; ok { - _, error := s.Save(localFilePath, 0) - if error != nil { - log.Errorln(error) + _, err := s.Save(localFilePath, 0) + if err != nil { + log.Errorln(err) _queuedPlaylistUpdates[localFilePath] = localFilePath } delete(_queuedPlaylistUpdates, localFilePath) diff --git a/core/streamState.go b/core/streamState.go index 4f06e8291..353caee7d 100644 --- a/core/streamState.go +++ b/core/streamState.go @@ -74,10 +74,10 @@ func SetStreamAsDisconnected() { if utils.DoesFileExists(playlistFilePath) { f, err := os.OpenFile(playlistFilePath, os.O_CREATE|os.O_RDWR, os.ModePerm) - defer f.Close() if err != nil { log.Errorln(err) } + defer f.Close() playlist, _, err := m3u8.DecodeFrom(bufio.NewReader(f), true) variantPlaylist := playlist.(*m3u8.MediaPlaylist) diff --git a/yp/yp.go b/yp/yp.go index 2a616dca3..5fbe7bec2 100644 --- a/yp/yp.go +++ b/yp/yp.go @@ -108,12 +108,11 @@ func (yp *YP) ping() { func (yp *YP) writeSavedKey(key string) { f, err := os.Create(".yp.key") - defer f.Close() - if err != nil { log.Errorln(err) return } + defer f.Close() _, err = f.WriteString(key) if err != nil {