Waitrud Weber’s blog

things and reminders for memories

CodeAnalyzer: read_all_002: aFree_001: free and remain still.

- - free and remain still. - -
  replace.cpp  Fri Jul 15 14:59:25 2022
...
318 :char* read_all_002 (char* filename ) {
319 :    FILE *fp;
320 :    char b_dummy[256];
321 :    int i, j ;
322 :    int file_end;
323 :    STRUCT_FILE structure_fp;
324 :    char c;
325 :    char* p_dummy = NULL;
326 :    char* p_dummy_token = NULL;
327 :    int canread;
328 :    char* block_string;
329 :    int b_index = 0;
330 :    char w_filename[255];
331 :    int index = 0;
332 :    int col = 0;
333 :    char* return_value = NULL;
334 :
335 :    printf("read_all_002 starts.\r\n");
336 :
337 :    fp = fopen(filename, "rb");
338 :    structure_fp.file_start = fp;
339 :    structure_fp.fp = fp;
340 :
341 :    file_end = filesize(fp);
342 :    structure_fp.file_end_index = file_end;
343 :
344 :    canread = 1;
345 ://    int ini = initialize_parse ();
346 :
347 :    // Lootn check if we set 100 to the text file.
348 :    for ( i =0; i<file_end && i <3; i++ ) {
349 :
350 :        printf("i: %d loop starts. ", i );
351 :        printf("struct_fp.fp |%d|\r\n", structure_fp.fp );
352 :
353 :        structure_fp.index = i;
354 :        p_dummy = get_string_001( structure_fp , 1);
355 :        p_dummy[1] = '\0';
356 :
357 ://        p_dummy_token = put_token( p_dummy[0] );
358 :        p_dummy_token = m_concat( p_dummy_token, p_dummy );
359 :        printf("013: p_dummy|%p|:|%d|=|%s| p_dummy_token:|%d|=|%s| p_dummy count|%d|\r\n", p_dummy, array_count(p_dummy), p_dummy, array_count(p_dummy_token), p_dummy_token, array_count(p_dummy));
360 :        aFree_001(p_dummy);
361 :        printf("013: p_dummy|%p|\r\n", p_dummy );
362 :        exit(-1);
363 :    }
364 :
365 :    printf("012: p_dummy_token:|%d|=|%s|\r\n", array_count(p_dummy_token), p_dummy_token);
366 ://    exit(-1);
367 :
368 :    return_value = copyof_002(p_dummy_token);
369 :    aFree_001(p_dummy_token);
370 :
371 :    printf("fp %d\r\n", structure_fp.fp);
372 :    fclose(structure_fp.fp);
373 :    printf("read_all_002 |%p| fp |%d| p_dummy_token |%d| ends.\r\n", return_value, structure_fp.fp, p_dummy_token);
374 :
375 :    return return_value;
376 :}
...
   
  --- execution 001 ---
013: p_dummy|003C1180|:|1|=|    | p_dummy_token:|0|=|| p_dummy count|1|
void aFree_001 ( char* str ) |003C1180| starts.
sub_aFree starts.
We are going to free |3936640| from array [2]
free |003C1180| |   0/   2| |   |       |
free 0 |00000000|
sub_aFree ends. return 1.
sub_aFree starts.
We are going to free |3936640| from array [1]
sub_aFree ends. thre is no free.
void aFree_001 ( char* str ) |003C1180| ends.
013: p_dummy|003C1180|
--- execution 001 ---