:: Re: [DNG] Pointer error in the back…
Page principale
Supprimer ce message
Répondre à ce message
Auteur: aitor_czr
Date:  
À: Edward Bartolo
CC: dng
Sujet: Re: [DNG] Pointer error in the backend of Netman
Sorry:

printf("\nactive_wifis = %i\n\n", *active_wifis);

On 12/10/2015 09:30 AM, aitor_czr wrote:
> Hi Edward,
>
> The value of the integer parameter 'active_wifis', passed by reference
> to 'getRadiatingWifiList' is lost. I added the following line 232:
>
> [....]
>
> *active_wifis = -1;
> char* tmp_buffer = scan_buffer;
> printf("\nactive_wifis = %i\n\n", active_wifis);  /***** ADDED LINE ****/
> while((scan_buffer = fgets(scan_buffer, 1024, shell_reader)))
> {
>   z++;
>   if (z == 1)
>      active_wifi_list = calloc(sizeof(void*), 10);

>
> [....]
>
> And this is what i get running ./backend 10:
>
> # ./backend 10
>
> active_wifis = -877165076
>
> *** Error in `./backend': realloc(): invalid pointer:
> 0x00007fff124a3424 ***
> Aborted
>
> Cheers,
>
>    Aitor.

>
> On 12/06/2015 03:19 PM, Edward Bartolo wrote:
>> Hi Aitor,
>>
>> This is my latest edit of the code so that memory allocations are done
>> when needed instead of the iteration just before more memory is
>> required.
>>
>> The edited code:
>>                  if (z == 1)
>>             active_wifi_list = calloc(10, sizeof(void*));
>>         else if ((z - 1) % 20 == 0)
>>             active_wifi_list = realloc(active_wifis, (((z - 1)/2) + 10)*sizeof(void*));

>>
>>
>> Edward
>>
>> On 06/12/2015, aitor_czr<aitor_czr@???> wrote:
>>> >Hi Edward,
>>> >
>>> >I will try it later, thanks:)
>>> >
>>> >    Aitor.

>>> >
>>> >On 12/06/2015 01:10 PM, Edward Bartolo wrote:
>>>> >>Hi Aitor,
>>>> >>
>>>> >>I edited the code as follows:
>>>> >>
>>>> >>        if (z == 1)
>>>> >>            active_wifi_list = calloc(10, sizeof(void*));
>>>> >>        else if (z % 20 == 0)
>>>> >>            active_wifi_list = realloc(active_wifis, ((z/2) + 10)*sizeof(void*));

>>>> >>
>>>> >>Please, if you can run the code and reply back whether it worked. My
>>>> >>neighbourhood has less than 10 active wifi repeaters.
>>>> >>
>>>> >>Edward