Skip to content

Commit

Permalink
Merge pull request #7877 from baude/compatapipriv
Browse files Browse the repository at this point in the history
fix compat api privileged and entrypoint code
  • Loading branch information
openshift-merge-robot authored Oct 2, 2020
2 parents defd427 + f0c7116 commit 0b7b222
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
3 changes: 3 additions & 0 deletions pkg/spec/config_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,9 @@ func getDevices(path string) ([]*configs.Device, error) {
}
case f.Name() == "console":
continue
case f.Mode()&os.ModeSymlink != 0:
// do not add symlink'd devices to privileged devices
continue
}
device, err := devices.DeviceFromPath(filepath.Join(path, f.Name()), "rwm")
if err != nil {
Expand Down
19 changes: 14 additions & 5 deletions pkg/spec/spec.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,14 +182,23 @@ func (config *CreateConfig) createConfigToOCISpec(runtime *libpod.Runtime, userM
g.SetProcessCwd(config.WorkDir)

ProcessArgs := make([]string, 0)
if len(config.Entrypoint) > 0 {
ProcessArgs = config.Entrypoint
// We need to iterate the input for entrypoint because it is a []string
// but "" is a legit json input, which translates into a []string with an
// empty position. This messes up the eventual command being executed
// in the container
for _, a := range config.Entrypoint {
if len(a) > 0 {
ProcessArgs = append(ProcessArgs, a)
}
}
if len(config.Command) > 0 {
ProcessArgs = append(ProcessArgs, config.Command...)
// Same issue as explained above for config.Entrypoint.
for _, a := range config.Command {
if len(a) > 0 {
ProcessArgs = append(ProcessArgs, a)
}
}
g.SetProcessArgs(ProcessArgs)

g.SetProcessArgs(ProcessArgs)
g.SetProcessTerminal(config.Tty)

for key, val := range config.Annotations {
Expand Down

0 comments on commit 0b7b222

Please sign in to comment.