Skip to content

Fix malformed Close() method causing unreachable code #18

@sgaunet

Description

@sgaunet

Problem

The Close() method in internal/app/client.go (lines 42-50) has incorrect indentation that causes unreachable code and potential logic errors.

Current code:

func (c *PostgreSQLClientImpl) Close() error {
	if c.db != nil {
		if err := c.db.Close(); err != nil {
		return fmt.Errorf("failed to close database: %w", err)
	}
	return nil
	}
	return nil
}

Issue: The inner if statement's closing brace is misaligned, causing:

  • The outer function's return statements to be unreachable in some code paths
  • Incorrect control flow logic
  • Potential resource leaks if db.Close() errors are not properly handled

Expected Behavior

The method should properly close the database connection and return errors appropriately.

Proposed Fix

func (c *PostgreSQLClientImpl) Close() error {
	if c.db != nil {
		if err := c.db.Close(); err != nil {
			return fmt.Errorf("failed to close database: %w", err)
		}
	}
	return nil
}

Impact

  • Severity: HIGH
  • Type: Bug
  • Location: internal/app/client.go:42-50

Checklist

  • Fix indentation in Close() method
  • Verify proper error handling
  • Run unit tests to ensure no regression
  • Check for similar malformed code patterns elsewhere

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions