The decoding/fromBuffer fails and crashes with this "complex" structure
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- backend
Línea de trabajo
Reproduce el problema con el r.Struct anidado y los arrays mostrados en el informe y, a continuación, inspecciona la lectura que falla en node_modules/restructure/dist/src/DecodeStream.js. Compara el búfer codificado con la posición del decodificador cuando entra en la estructura anidada. Se considera completado cuando fromBuffer termina sin un DataView RangeError y devuelve los valores esperados de i, a, subI y subArray.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Given this structure:
const PacketFromRestructure = new r.Struct({
i: r.uint32,
a: new r.Array(r.uint32),
sub: new r.Struct({
subI: r.uint32,
subArray: new r.Array(r.uint32)
})
})
The encoding/toBuffer part works fine:
const encoded = PacketFromRestructure.toBuffer({
i: 0,
a: [1, 2],
sub: { subArray: [1, 2, 3], subI: 2 }
})
But its decoding/fromBuffer fails and crashes:
const decoded = PacketFromRestructure.fromBuffer(encoded)
The crash:
node_modules\restructure\dist\src\DecodeStream.js:72
const ret = this.view[key](this.pos, false);
^
RangeError: Offset is outside the bounds of the DataView
at DataView.prototype.getUint32 (<anonymous>)
at $8ae20583b93e4933$export$c18b354bac7948e9.<computed> [as readUInt32BE]
...
- Lenguaje dominante
- JavaScript
- Estrellas
- 146
- Forks
- 37
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de foliojs/restructure
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
foliojs/restructure#58 · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
foliojs/restructure#55 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
foliojs/restructure#53 · 1 comentario · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
foliojs/restructure#46 ·
-
Int of 4 bytes not exists?Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
foliojs/restructure#42 · 1 comentario ·
Todos los issues de foliojs/restructure
Issues similares
-
area: core complexity: easy impact: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
ueberdosis/tiptap#8668 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
follow-redirects - CVE-2026-116689Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
axios/axios#11409 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Add: Russia-24 +2Abiertochannels:add check:passed
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 4 días
-
upstream-dfinity-icp-cli-recipes-static-site upstream-sync
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
dfinity/developer-docs#442 ·
Los mantenedores suelen responder en 2 días