{"id":"d524ab47ff9e144e","repo":"docker/cli","slug":"invalid-device-specification-s","errorCode":null,"errorMessage":"invalid device specification: %s","messagePattern":"invalid device specification: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/command/container/opts.go","lineNumber":1028,"sourceCode":"\tvar src, dst string\n\tpermissions := \"rwm\"\n\t// We expect 3 parts at maximum; limit to 4 parts to detect invalid options.\n\tarr := strings.SplitN(device, \":\", 4)\n\tswitch len(arr) {\n\tcase 3:\n\t\tpermissions = arr[2]\n\t\tfallthrough\n\tcase 2:\n\t\tif validDeviceMode(arr[1]) {\n\t\t\tpermissions = arr[1]\n\t\t} else {\n\t\t\tdst = arr[1]\n\t\t}\n\t\tfallthrough\n\tcase 1:\n\t\tsrc = arr[0]\n\tdefault:\n\t\treturn container.DeviceMapping{}, fmt.Errorf(\"invalid device specification: %s\", device)\n\t}\n\n\tif dst == \"\" {\n\t\tdst = src\n\t}\n\n\treturn container.DeviceMapping{\n\t\tPathOnHost:        src,\n\t\tPathInContainer:   dst,\n\t\tCgroupPermissions: permissions,\n\t}, nil\n}\n\n// validateDeviceCgroupRule validates a device cgroup rule string format\n// It will make sure 'val' is in the form:\n//\n//\t'type major:minor mode'\nfunc validateDeviceCgroupRule(val string) (string, error) {","sourceCodeStart":1010,"sourceCodeEnd":1046,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/command/container/opts.go#L1010-L1046","documentation":"Error \"invalid device specification: %s\" thrown in docker/cli.","triggerScenarios":"Thrown at cli/command/container/opts.go:1028 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}