summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlawl <github@dumbinter.net>2021-09-28 16:27:57 +0200
committerlawl <github@dumbinter.net>2021-09-28 16:27:57 +0200
commit4aca9e658874f8c72fff3a03039de40e294d1822 (patch)
tree8ff38c95aba73158ddd266cd1f7d700e19b304f4
parent15b8caf2ad8aef17d17b75cb8ddb1bc75c54a1a3 (diff)
Pulseaudio: Don't crash on receiving longer-than-expected string message0.11.4
See: https://github.com/lawl/pulseaudio/commit/ed754c0c6618ee6320b27be07b73231fb98802ff Closes #178
-rw-r--r--go.mod2
-rw-r--r--go.sum2
-rw-r--r--vendor/github.com/lawl/pulseaudio/format.go6
-rw-r--r--vendor/modules.txt2
4 files changed, 8 insertions, 4 deletions
diff --git a/go.mod b/go.mod
index 7564c2b..282a8ac 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ require (
github.com/BurntSushi/toml v0.3.1
github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046
github.com/aarzilli/nucular v0.0.0-20200615134801-81910c722bba
- github.com/lawl/pulseaudio v0.0.0-20210604102109-cb2596d6a8ef
+ github.com/lawl/pulseaudio v0.0.0-20210928141934-ed754c0c6618
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899
)
diff --git a/go.sum b/go.sum
index 57e2b2a..7db32cc 100644
--- a/go.sum
+++ b/go.sum
@@ -23,6 +23,8 @@ github.com/lawl/pulseaudio v0.0.0-20200802093727-ab0735955fd0 h1:JrvOwrr1teFiqsp
github.com/lawl/pulseaudio v0.0.0-20200802093727-ab0735955fd0/go.mod h1:9h36x4KH7r2V8DOCKoPMt87IXZ++X90y8D5nnuwq290=
github.com/lawl/pulseaudio v0.0.0-20210604102109-cb2596d6a8ef h1:mpCJg3O6C+B8mh5xoO147NG3Z70GBcFNgqgz2DH/rLQ=
github.com/lawl/pulseaudio v0.0.0-20210604102109-cb2596d6a8ef/go.mod h1:9h36x4KH7r2V8DOCKoPMt87IXZ++X90y8D5nnuwq290=
+github.com/lawl/pulseaudio v0.0.0-20210928141934-ed754c0c6618 h1:lktbhQBHluc1oWEDow4DEv13qkWJ8zm/dTUSKer2iKk=
+github.com/lawl/pulseaudio v0.0.0-20210928141934-ed754c0c6618/go.mod h1:9h36x4KH7r2V8DOCKoPMt87IXZ++X90y8D5nnuwq290=
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI=
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
diff --git a/vendor/github.com/lawl/pulseaudio/format.go b/vendor/github.com/lawl/pulseaudio/format.go
index f1e7503..51b52c8 100644
--- a/vendor/github.com/lawl/pulseaudio/format.go
+++ b/vendor/github.com/lawl/pulseaudio/format.go
@@ -156,13 +156,15 @@ func bread(r io.Reader, data ...interface{}) error {
sptr, ok := v.(*string)
if ok {
- buf := make([]byte, 1024) // max string length i guess.
+ buf := make([]byte, 0)
i := 0
for {
- _, err := r.Read(buf[i : i+1])
+ var curChar [1]byte
+ _, err := r.Read(curChar[:])
if err != nil {
return err
}
+ buf = append(buf, curChar[0])
if buf[i] == 0 {
*sptr = string(buf[:i])
break
diff --git a/vendor/modules.txt b/vendor/modules.txt
index c68786e..515d751 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -71,7 +71,7 @@ github.com/golang/freetype/truetype
# github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad
github.com/hashicorp/golang-lru
github.com/hashicorp/golang-lru/simplelru
-# github.com/lawl/pulseaudio v0.0.0-20210604102109-cb2596d6a8ef
+# github.com/lawl/pulseaudio v0.0.0-20210928141934-ed754c0c6618
## explicit
github.com/lawl/pulseaudio
# github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635