aws.s3 icon indicating copy to clipboard operation
aws.s3 copied to clipboard

Using `as.integer()` for content length produces integer overflow

Open k5cents opened this issue 5 years ago • 0 comments

Please specify whether your issue is about:

  • [x] a possible bug
  • [ ] a question about package functionality
  • [x] a suggested code or documentation change, improvement to the code, or feature request

This bug stems from the use of as.integer() when converting the content length to a numeric value. See related issues #264 and #332 as well as PR #273 which fixed the same issue in put_object(). I will be submitting my own PR with the same change.

Put your code here:

library(aws.s3)
r <- head_object(
  object = "myobject", 
  bucket = "mybucket"
)
cl <- attr(r, "content-length")
as.integer(cl)
#> Warning: NAs introduced by coercion to integer range
#> [1] NA
as.numeric(cl)
#> [1] 3343503279

Created on 2020-09-14 by the reprex package (v0.3.0)

Session info
devtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 4.0.0 (2020-04-24)
#>  os       Ubuntu 20.04.1 LTS          
#>  system   x86_64, linux-gnu           
#>  ui       X11                         
#>  language (EN)                        
#>  collate  en_US.UTF-8                 
#>  ctype    en_US.UTF-8                 
#>  tz       America/New_York            
#>  date     2020-09-14                  
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package       * version date       lib source        
#>  assertthat      0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
#>  aws.s3        * 0.3.21  2020-04-07 [1] CRAN (R 4.0.0)
#>  aws.signature   0.6.0   2020-06-01 [1] CRAN (R 4.0.0)
#>  backports       1.1.8   2020-06-17 [1] CRAN (R 4.0.0)
#>  base64enc       0.1-3   2015-07-28 [1] CRAN (R 4.0.0)
#>  callr           3.4.3   2020-03-28 [1] CRAN (R 4.0.0)
#>  cli             2.0.2   2020-02-28 [1] CRAN (R 4.0.0)
#>  crayon          1.3.4   2017-09-16 [1] CRAN (R 4.0.0)
#>  curl            4.3     2019-12-02 [1] CRAN (R 4.0.0)
#>  desc            1.2.0   2018-05-01 [1] CRAN (R 4.0.0)
#>  devtools        2.3.0   2020-04-10 [1] CRAN (R 4.0.0)
#>  digest          0.6.25  2020-02-23 [1] CRAN (R 4.0.0)
#>  ellipsis        0.3.1   2020-05-15 [1] CRAN (R 4.0.0)
#>  evaluate        0.14    2019-05-28 [1] CRAN (R 4.0.0)
#>  fansi           0.4.1   2020-01-08 [1] CRAN (R 4.0.0)
#>  fs              1.4.2   2020-06-30 [1] CRAN (R 4.0.0)
#>  glue            1.4.2   2020-08-27 [1] CRAN (R 4.0.0)
#>  highr           0.8     2019-03-20 [1] CRAN (R 4.0.0)
#>  htmltools       0.5.0   2020-06-16 [1] CRAN (R 4.0.0)
#>  httr            1.4.2   2020-07-20 [1] CRAN (R 4.0.0)
#>  knitr           1.29    2020-06-23 [1] CRAN (R 4.0.0)
#>  magrittr        1.5     2014-11-22 [1] CRAN (R 4.0.0)
#>  memoise         1.1.0   2017-04-21 [1] CRAN (R 4.0.0)
#>  pkgbuild        1.1.0   2020-07-13 [1] CRAN (R 4.0.0)
#>  pkgload         1.1.0   2020-05-29 [1] CRAN (R 4.0.0)
#>  prettyunits     1.1.1   2020-01-24 [1] CRAN (R 4.0.0)
#>  processx        3.4.3   2020-07-05 [1] CRAN (R 4.0.0)
#>  ps              1.3.3   2020-05-08 [1] CRAN (R 4.0.0)
#>  R6              2.4.1   2019-11-12 [1] CRAN (R 4.0.0)
#>  remotes         2.1.1   2020-02-15 [1] CRAN (R 4.0.0)
#>  rlang           0.4.7   2020-07-09 [1] CRAN (R 4.0.0)
#>  rmarkdown       2.3     2020-06-18 [1] CRAN (R 4.0.0)
#>  rprojroot       1.3-2   2018-01-03 [1] CRAN (R 4.0.0)
#>  sessioninfo     1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
#>  stringi         1.4.6   2020-02-17 [1] CRAN (R 4.0.0)
#>  stringr         1.4.0   2019-02-10 [1] CRAN (R 4.0.0)
#>  testthat        2.3.2   2020-03-02 [1] CRAN (R 4.0.0)
#>  usethis         1.6.1   2020-04-29 [1] CRAN (R 4.0.0)
#>  withr           2.2.0   2020-04-20 [1] CRAN (R 4.0.0)
#>  xfun            0.15    2020-06-21 [1] CRAN (R 4.0.0)
#>  xml2            1.3.2   2020-04-23 [1] CRAN (R 4.0.0)
#>  yaml            2.2.1   2020-02-01 [1] CRAN (R 4.0.0)
#> 
#> [1] /home/kiernan/R/x86_64-pc-linux-gnu-library/4.0
#> [2] /opt/R/4.0.0/lib/R/library

k5cents avatar Sep 15 '20 02:09 k5cents