You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code is throwing panic with a "runtime error: invalid memory address or nil pointer dereference" during the execution of the Connect method. The panic is occurring in the Auth module, more precisely in the handleLogOnResponse function.
Steps to Reproduce:
Call the Connect method with valid username, password, and twoFactorSecret parameters.
func (s *GameCoordinatorService) Connect(username, password, twoFactorSecret string) {
developerLoginInformation := new(steam.LogOnDetails)
developerLoginInformation.Username = username
developerLoginInformation.Password = password
totpInstance := totp.NewTotp(twoFactorSecret)
twoFactorCode, err := totpInstance.GenerateCode()
if err != nil {
log.Println("Error generating 2FA code: ", err)
}
developerLoginInformation.TwoFactorCode = twoFactorCode
developerLoginInformation.ShouldRememberPassword = true
client := steam.NewClient()
if _, connectErr := client.Connect(); connectErr != nil {
log.Panic(connectErr)
}
var connected sync.WaitGroup
connected.Add(1)
go func() {
for event := range client.Events() {
switch e := event.(type) {
case *steam.ConnectedEvent:
log.Println("Connected to steam. logging on...")
client.Auth.LogOn(developerLoginInformation)
case *steam.LogOnDetails:
log.Println("Logging on...")
case *steam.LoggedOnEvent:
log.Println("Logged on successfully.")
s.client = client
client.Social.SetPersonaState(steamlang.EPersonaState_Invisible)
s.connectToGameCoordinator()
connected.Done()
case steam.DisconnectedEvent:
log.Println("Disconnected from Steam.")
case steam.FatalErrorEvent:
log.Fatal(e)
case steam.LogOnFailedEvent:
log.Println("Log on failed: ", e.Result)
default:
log.Printf("%T: %v\n", e, e)
}
}
}()
connected.Wait()
}
I also have this problem with just the example code. I found a quick fix, you can just comment out this line in auth.go: a.client.Web.webLoginKey = *body.WebapiAuthenticateUserNonce
There are checks for webLoginKey and WebapiAuthenticateUserNonce in case it's empty but not before this assignment. I haven't tested it further as I'm just getting into this library but I might do a pull request with a fix at a later point in time.
The code is throwing panic with a "runtime error: invalid memory address or nil pointer dereference" during the execution of the Connect method. The panic is occurring in the Auth module, more precisely in the handleLogOnResponse function.
Steps to Reproduce:
Call the Connect method with valid username, password, and twoFactorSecret parameters.
Error:
go 1.21
macOS 14.2.1
The text was updated successfully, but these errors were encountered: