{"record":{"id":"b1687229183079c0","repo":"projectdiscovery/nuclei","slug":"empty-smb-path","errorCode":null,"errorMessage":"empty SMB path","messagePattern":"empty SMB path","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/protocols/file/smb_path.go","lineNumber":50,"sourceCode":"\tinput = strings.TrimSpace(input)\n\tif input == \"\" {\n\t\treturn false\n\t}\n\tlower := strings.ToLower(input)\n\tif strings.HasPrefix(lower, \"smb://\") {\n\t\treturn true\n\t}\n\tif strings.HasPrefix(input, `\\\\`) || strings.HasPrefix(input, \"//\") {\n\t\treturn true\n\t}\n\treturn false\n}\n\n// ParseSMBTarget parses an SMB UNC or smb:// URL into an SMBTarget.\nfunc ParseSMBTarget(input string) (*SMBTarget, error) {\n\tinput = strings.TrimSpace(input)\n\tif input == \"\" {\n\t\treturn nil, fmt.Errorf(\"empty SMB path\")\n\t}\n\tlower := strings.ToLower(input)\n\tif strings.HasPrefix(lower, \"smb://\") {\n\t\treturn parseSMBURL(input)\n\t}\n\tif strings.HasPrefix(input, `\\\\`) || strings.HasPrefix(input, \"//\") {\n\t\treturn parseUNC(input)\n\t}\n\treturn nil, fmt.Errorf(\"not an SMB path: %q\", input)\n}\n\nfunc parseSMBURL(raw string) (*SMBTarget, error) {\n\tu, err := url.Parse(raw)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"parse smb url: %w\", err)\n\t}\n\tif u.Host == \"\" {\n\t\treturn nil, fmt.Errorf(\"smb url missing host\")","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/projectdiscovery/nuclei/blob/265b3a3dec374741614e342f813c10f8b38d2bb7/pkg/protocols/file/smb_path.go#L32-L68","documentation":"Error \"empty SMB path\" thrown in projectdiscovery/nuclei.","triggerScenarios":"Thrown at pkg/protocols/file/smb_path.go:50 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"265b3a3dec374741614e342f813c10f8b38d2bb7","analyzedAt":"2026-08-15T20:05:51.855Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}