You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@age.apache.org by Panagiotis Foliadis <PF...@hotmail.com> on 2023/06/12 18:11:46 UTC

Offset and out of bounds

Hey all,

I'm having a hard time understanding the offset​ functionality in fill_agtype_value​().
There are many times when this function is called that the offset​ is greater than the
length of the base_addr​ resulting in fetching a value from out of bounds. How do the
out-of-bounds values get initialized and what are we trying to achieve by having the offset
reach for the out-of-bounds values?

Απ: Offset and out of bounds

Posted by Panagiotis Foliadis <pf...@hotmail.com>.
Ive figured out everything that I needed thank you for your response!
________________________________
Από: John Gemignani <jr...@gmail.com>
Στάλθηκε: Δευτέρα, 19 Ιουνίου 2023 9:25 μμ
Προς: dev@age.apache.org <de...@age.apache.org>
Θέμα: Re: Offset and out of bounds

You are looking at why it is called, right? In gdb you can use the *up *command
to look up the call stack to see what called something.

That function, btw, will get called by anything that needs to deserialize
agtype to agtype_value, even multiple times within a single agtype, due to
nested structures.

john



On Mon, Jun 12, 2023 at 12:08 PM Panagiotis Foliadis <pf...@hotmail.com>
wrote:

> Yes of course.
>
> When we run the basic select * from cypher
> ('test', $$ create (u) return u) as (u agtype), fill_agtype_value() is
> being called multiple times.
> There are times when its called with the base_addr having the value
> "idlabelproperties" and the offset
> helps breaking down this string to fill correctly the json object that
> will be return to the client. But there
> are cases that when the fill_agtype_value() is called, for example when
> the node we are creating has
> no label, that the offset is 32, which is larger than the length of the
> base_addr. Running gdb with
> fill_agtype_value() as a breaking point would make it easier to understand
> what im trying to say.
>
> ________________________________
> Από: John Gemignani <jr...@gmail.com>
> Στάλθηκε: Δευτέρα, 12 Ιουνίου 2023 10:03 μμ
> Προς: dev@age.apache.org <de...@age.apache.org>
> Θέμα: Re: Offset and out of bounds
>
> Could you give some example cases?
>
> john
>
> On Mon, Jun 12, 2023 at 11:12 AM Panagiotis Foliadis <
> PFoliadis@hotmail.com>
> wrote:
>
> > Hey all,
> >
> > I'm having a hard time understanding the offset​ functionality in
> > fill_agtype_value​().
> > There are many times when this function is called that the offset​ is
> > greater than the
> > length of the base_addr​ resulting in fetching a value from out of
> bounds.
> > How do the
> > out-of-bounds values get initialized and what are we trying to achieve by
> > having the offset
> > reach for the out-of-bounds values?
> >
>

Re: Offset and out of bounds

Posted by John Gemignani <jr...@gmail.com>.
You are looking at why it is called, right? In gdb you can use the *up *command
to look up the call stack to see what called something.

That function, btw, will get called by anything that needs to deserialize
agtype to agtype_value, even multiple times within a single agtype, due to
nested structures.

john



On Mon, Jun 12, 2023 at 12:08 PM Panagiotis Foliadis <pf...@hotmail.com>
wrote:

> Yes of course.
>
> When we run the basic select * from cypher
> ('test', $$ create (u) return u) as (u agtype), fill_agtype_value() is
> being called multiple times.
> There are times when its called with the base_addr having the value
> "idlabelproperties" and the offset
> helps breaking down this string to fill correctly the json object that
> will be return to the client. But there
> are cases that when the fill_agtype_value() is called, for example when
> the node we are creating has
> no label, that the offset is 32, which is larger than the length of the
> base_addr. Running gdb with
> fill_agtype_value() as a breaking point would make it easier to understand
> what im trying to say.
>
> ________________________________
> Από: John Gemignani <jr...@gmail.com>
> Στάλθηκε: Δευτέρα, 12 Ιουνίου 2023 10:03 μμ
> Προς: dev@age.apache.org <de...@age.apache.org>
> Θέμα: Re: Offset and out of bounds
>
> Could you give some example cases?
>
> john
>
> On Mon, Jun 12, 2023 at 11:12 AM Panagiotis Foliadis <
> PFoliadis@hotmail.com>
> wrote:
>
> > Hey all,
> >
> > I'm having a hard time understanding the offset​ functionality in
> > fill_agtype_value​().
> > There are many times when this function is called that the offset​ is
> > greater than the
> > length of the base_addr​ resulting in fetching a value from out of
> bounds.
> > How do the
> > out-of-bounds values get initialized and what are we trying to achieve by
> > having the offset
> > reach for the out-of-bounds values?
> >
>

Απ: Offset and out of bounds

Posted by Panagiotis Foliadis <pf...@hotmail.com>.
Yes of course.

When we run the basic select * from cypher
('test', $$ create (u) return u) as (u agtype), fill_agtype_value() is being called multiple times.
There are times when its called with the base_addr having the value "idlabelproperties" and the offset
helps breaking down this string to fill correctly the json object that will be return to the client. But there
are cases that when the fill_agtype_value() is called, for example when the node we are creating has
no label, that the offset is 32, which is larger than the length of the base_addr. Running gdb with
fill_agtype_value() as a breaking point would make it easier to understand what im trying to say.

________________________________
Από: John Gemignani <jr...@gmail.com>
Στάλθηκε: Δευτέρα, 12 Ιουνίου 2023 10:03 μμ
Προς: dev@age.apache.org <de...@age.apache.org>
Θέμα: Re: Offset and out of bounds

Could you give some example cases?

john

On Mon, Jun 12, 2023 at 11:12 AM Panagiotis Foliadis <PF...@hotmail.com>
wrote:

> Hey all,
>
> I'm having a hard time understanding the offset​ functionality in
> fill_agtype_value​().
> There are many times when this function is called that the offset​ is
> greater than the
> length of the base_addr​ resulting in fetching a value from out of bounds.
> How do the
> out-of-bounds values get initialized and what are we trying to achieve by
> having the offset
> reach for the out-of-bounds values?
>

Re: Offset and out of bounds

Posted by John Gemignani <jr...@gmail.com>.
Could you give some example cases?

john

On Mon, Jun 12, 2023 at 11:12 AM Panagiotis Foliadis <PF...@hotmail.com>
wrote:

> Hey all,
>
> I'm having a hard time understanding the offset​ functionality in
> fill_agtype_value​().
> There are many times when this function is called that the offset​ is
> greater than the
> length of the base_addr​ resulting in fetching a value from out of bounds.
> How do the
> out-of-bounds values get initialized and what are we trying to achieve by
> having the offset
> reach for the out-of-bounds values?
>