@@ -165,8 +165,10 @@ func (s *ApiService) UploadExtensionsAndRestart(ctx context.Context, request oap
165165 if err := ziputil .Unzip (p .zipTemp , dest ); err != nil {
166166 return oapi.UploadExtensionsAndRestart400JSONResponse {BadRequestErrorJSONResponse : oapi.BadRequestErrorJSONResponse {Message : "invalid zip file" }}, nil
167167 }
168- // chown best-effort to kernel:kernel recursively
169- _ = exec .Command ("chown" , "-R" , "kernel:kernel" , dest ).Run ()
168+ if err := exec .Command ("chown" , "-R" , "kernel:kernel" , dest ).Run (); err != nil {
169+ log .Error ("failed to chown extension dir" , "err" , err )
170+ return oapi.UploadExtensionsAndRestart500JSONResponse {InternalErrorJSONResponse : oapi.InternalErrorJSONResponse {Message : "failed to chown extension dir" }}, nil
171+ }
170172 log .Info ("installed extension" , "name" , p .name )
171173 }
172174
@@ -177,12 +179,15 @@ func (s *ApiService) UploadExtensionsAndRestart(ctx context.Context, request oap
177179 }
178180 overlay := fmt .Sprintf ("--disable-extensions-except=%s --load-extension=%s\n " , strings .Join (paths , "," ), strings .Join (paths , "," ))
179181 // Ensure /chromium exists
180- _ = os .MkdirAll ("/chromium" , 0o755 )
182+ if err := exec .Command ("mkdir" , "-p" , "/chromium" ).Run (); err != nil {
183+ return oapi.UploadExtensionsAndRestart500JSONResponse {InternalErrorJSONResponse : oapi.InternalErrorJSONResponse {Message : "failed to create chromium dir" }}, nil
184+ }
181185 if err := os .WriteFile ("/chromium/flags" , []byte (overlay ), 0o644 ); err != nil {
182186 return oapi.UploadExtensionsAndRestart500JSONResponse {InternalErrorJSONResponse : oapi.InternalErrorJSONResponse {Message : "failed to write overlay flags" }}, nil
183187 }
184- _ = os .Chown ("/chromium/flags" , 0 , 0 )
185- _ = os .Chmod ("/chromium/flags" , 0o644 )
188+ if err := os .Chmod ("/chromium/flags" , 0o644 ); err != nil {
189+ return oapi.UploadExtensionsAndRestart500JSONResponse {InternalErrorJSONResponse : oapi.InternalErrorJSONResponse {Message : "failed to chmod chromium flags" }}, nil
190+ }
186191 log .Info ("wrote /chromium/flags" , "paths" , strings .Join (paths , "," ))
187192
188193 // Debug: list directories to verify ownership/permissions
0 commit comments