This repository was archived by the owner on Sep 16, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 165
Integer overflow in filesystem stat implementation #409
Comments
Bug Fix: P.S.: I'm not going to send a PR for that, since these seem to end at the office in charge for that at Alpha Centauri. |
That was quick. I will submit a PR later. Thank you so much, Robert! |
amotl
added a commit
to daq-tools/pycom-micropython
that referenced
this issue
Feb 26, 2020
We just verified through dhylands/rshell#124 (comment) that changing these bits brings much of joy, especially when accompanied by dhylands/rshell#125. Thanks again @robert-hh! |
amotl
added a commit
to daq-tools/pycom-micropython
that referenced
this issue
Feb 27, 2020
amotl
added a commit
to daq-tools/pycom-micropython
that referenced
this issue
Mar 6, 2020
amotl
added a commit
to daq-tools/pycom-micropython
that referenced
this issue
Mar 6, 2020
Using small ints for storing st_atime, st_mtime and st_ctime values is prone to integer overflows, effectively yielding wrong timestamps. This resolves pycom#409. Contributed by @robert-hh.
Thanks for merging this! |
X-Ryl669
pushed a commit
to X-Ryl669/pycom-micropython-sigfox
that referenced
this issue
May 12, 2023
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Dear Pycom team,
while investigating an issue why
rshell
would upload our files over and over again despite itsrsync
implementation should compensate for that (dhylands/rshell#124), we just found an issue when looking atmtime
timestamps of the files created on the device.We found that there might be an integer overflow within the virtual filesystem implementation keeping track of filesystem metadata.
This example says a thousand words:
It looks like only newer firmware releases are affected. The bug apparently started appearing in
1.20.0.rc0
and is still visible in1.20.2rc3-pybytes
. However, it is not present in1.18.2.r7
and1.18.3-pybytes
. It looks like it is independent of FatFS vs. LittleFS.2147483648
is just2^31
orINT_MAX + 1
orabs(INT_MIN)
. The correct outcome should be zero (0
), or sometimes1
- dependent on how fast the oneliner is executing.Thanks already for looking into this.
With kind regards,
Andreas.
cc @husigeza
The text was updated successfully, but these errors were encountered: