cmd/gotext: fix segfault in extract & rewrite commands If extract or rewrite are called with no arguments it results in a segmentation fault, since we dereference the out flag that was not defined for these commands. Fixes golang/go#62697 Change-Id: I697943b7c221431d0361bcec74c18183f6e141ea GitHub-Last-Rev: 313ddfad2b9a43d4fbaa875fa4dd3110dcf38083 GitHub-Pull-Request: golang/text#46 Reviewed-on: https://go-review.googlesource.com/c/text/+/529255 Reviewed-by: Marcel van Lohuizen <mpvl@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
diff --git a/cmd/gotext/main.go b/cmd/gotext/main.go index ed0f7ec..5171eb1 100644 --- a/cmd/gotext/main.go +++ b/cmd/gotext/main.go
@@ -48,11 +48,18 @@ if err != nil { return nil, wrap(err, "invalid srclang") } + + // Use a default value since rewrite and extract don't have an out flag. + genFile := "" + if out != nil { + genFile = *out + } + return &pipeline.Config{ SourceLanguage: tag, Supported: getLangs(), TranslationsPattern: `messages\.(.*)\.json$`, - GenFile: *out, + GenFile: genFile, Dir: *dir, }, nil }