Why are you using CGO? Why not just make life easy for yourself by sticking to the http.ServeTLS built in to the Go standard library. On Monday, 2 December 2024 at 19:25:21 UTC Ian Lance Taylor wrote:
> On Mon, Dec 2, 2024 at 11:16 AM Jason E. Aten <j.e....@gmail.com> wrote: > > > > ChatGPT seems to think that the go-wolfssl library is not following > proper CGO rules in > > many places. The transcript below is long. I post it nonetheless, in > case such > > analysis is new for readers. I would suggest that you (everyone) can and > should > > be doing this kind of "code review by LLM" yourself to quickly resolve > > these kinds of issues. Also, it might be wrong!?! since it comes from an > LLM. > > But at least we can talk about specific code snippets now. > > > > Transcript using ChatGPT 4o from Github copilot: > > > > @workspace I suspect there are one or more bugs in the use of CGO in > this this Go library, go-wolfssl. That is, I suspect that the CGO rules for > passing C pointers back and forth between Go and C threads are not being > followed, and this is causing bugs in the use of the library. Please audit > all the Go and C files in this workspace, and point out places where the > CGO pointer rules are not being followed. > > > > Workspace: In CGO, there are strict rules for passing pointers between > Go and C. Specifically, Go pointers should not be passed to C code, and C > pointers should not be used in Go code without proper conversion. Here are > some potential violations of these rules in your workspace: > > > > 1. **`random.go`**: > > ```go > > func Wc_RNG_GenerateBlock(rng *C.struct_WC_RNG, b []byte, sz int) int { > > return int(C.wc_RNG_GenerateBlock(rng, > (*C.uchar)(unsafe.Pointer(&b[0])), C.word32(sz))) > > } > > ``` > > - The Go slice > > > > b > > > > is being converted to a C pointer and passed to the C function. This is > a violation of the CGO rules. > > This code is in itself fine, and is a typical example of using cgo. > > I didn't read any further. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/19c73eec-48bc-4a16-bcc9-a850f4df4bd9n%40googlegroups.com.