Skip to content

Incorrect col/table name crashes the proxy in certain situations #37

@Deep1998

Description

@Deep1998

I noticed setting the col name/table name incorrectly crashes the proxy when using an UPDATE clause.

THe following snippet induces an intentional typo of vale instead of val causing the proxy to exit. I have tried typos in other types of statement, where it seems to be returning an appropriate error message.

Note that val is not a pk column.

cqlsh
Connected to cql-proxy at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 4.0.0.6816 | CQL spec 3.4.5 | Native protocol v4]
Use HELP for help.
cqlsh> use testkeyspace;
cqlsh:testkeyspace> UPDATE test_table SET val = 10 WHERE id = 1;
cqlsh:testkeyspace> UPDATE test_table SET vale = 10 WHERE id = 1;
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x128a7fa]

goroutine 107 [running]:
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/translator.parseAssignments({0xc000789230, 0x1, 0x0?}, {0xc00074a860, 0xa}, 0xc000207be0)
	/home/deepchowdhury/cassandra-to-spanner-proxy/translator/translator_update.go:73 +0x35a
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/translator.(*Translator).ToSpannerUpdate(0xc0005a2d20, {0xc0005aa6dc, 0xe}, {0xc00011ac60, 0x2d})
	/home/deepchowdhury/cassandra-to-spanner-proxy/translator/translator_update.go:275 +0x631
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxy.(*client).handleQuery(0xc0005af360, 0xc00077c880, 0xc000788de0)
	/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxy/proxy.go:1604 +0x2a75
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxy.(*client).Receive(0xc0005af360, {0x194eca0?, 0xc00065cd80?})
	/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxy/proxy.go:646 +0x62b
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxycore.(*Conn).read(0xc00065cde0)
	/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxycore/conn.go:114 +0x33
created by github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxycore.(*Conn).Start in goroutine 121
	/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxycore/conn.go:107 +0x56
NoHostAvailable:
cqlsh:testkeyspace> exit
[1]+  Exit 2                  ./cassandra-to-spanner-proxy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions