refactor: sanitize dynamic column name in SEC form4 utility (#7376)

This commit is contained in:
Rin
2026-02-26 02:16:05 +07:00
committed by GitHub
parent 60fa8a3174
commit 686d414366

View File

@@ -143,6 +143,9 @@ def setup_database(conn):
def add_missing_column(conn, column_name):
"""Add a missing column to the form4_data table."""
# Sanitize the column name to prevent SQL injection
column_name_clean = column_name.replace('"', '""')
missing_type = (
"MONEY"
if "price" in column_name or "value" in column_name
@@ -157,7 +160,9 @@ def add_missing_column(conn, column_name):
)
)
cursor = conn.cursor()
cursor.execute(f"ALTER TABLE form4_data ADD COLUMN {column_name} {missing_type}")
cursor.execute(
f'ALTER TABLE form4_data ADD COLUMN "{column_name_clean}" {missing_type}'
)
conn.commit()