Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    1

    HELP! ho dei problemi con il free()

    Salve, sono alle prime armi e sto scrivendo un client IRC, io salvo il buffer ricevuto dal server al momento del connect in char *buf, allocato con malloc(), nel momento in cui devo ricevere altri dati io uso il free(buf), ma insieme ai nuovi dati ricevuti, in buf sono rimasti i dati precedenti. Siccome il buffer ricevuto dal server è posto su più righe è possibile che non veda le altre righe siccome con il free la memoria si libera solo della prima riga lasciando le altre? con il gdb mi da questo

    Program received signal SIGSEGV, Segmentation fault.
    0x400894dd in __libc_free (mem=0x8049c90) at malloc.c:3142
    3142 malloc.c: No such file or directory.
    in malloc.c

    dovrei usare un altra funzione x allocare? se qualcuno sa come fare...

  2. #2
    usa calloc() per allocare e se necessario, quando deallochi pulisci preventivamente la memoria con memset().

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.