daily pastebin goal
28%
SHARE
TWEET

Invalid write of size 4

a guest Sep 12th, 2018 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. bool pila_apilar(pila_t *pila, void* valor){
  2.     if (pila->cantidad+1 > pila->capacidad){
  3.  
  4.         void* aux = realloc(pila->datos, (pila->capacidad*2) * sizeof(void*));
  5.  
  6.         if (aux == NULL){
  7.             return false;
  8.         }
  9.         pila->datos = aux;
  10.         pila->capacidad = pila->capacidad + TAM_INI;
  11.     }
  12.     pila->datos[pila->cantidad] = valor;
  13.     pila->cantidad = pila->cantidad + 1;
  14.     return true;
  15. }
  16.  
  17. void* pila_desapilar(pila_t *pila){
  18.     if (pila->cantidad > 0){
  19.  
  20.         if((pila->cantidad-1) < (pila->capacidad/4)){        //si al sacar un elemento la pila queda a menos del 25%
  21.  
  22.             if (((pila->capacidad/2) < TAM_INI) && pila->capacidad != TAM_INI){
  23.                 pila->datos = realloc(pila->datos, TAM_INI * sizeof(void*));
  24.                 pila->capacidad = TAM_INI;
  25.             }
  26.  
  27.             else if(pila->capacidad != TAM_INI){
  28.                 pila->datos = realloc(pila->datos, pila->capacidad/2 * sizeof(void*));
  29.                 pila->capacidad = pila->capacidad/2;
  30.             }
  31.         }
  32.         void* aux = pila->datos[pila->cantidad-1];
  33.         pila->datos[pila->cantidad-1] = NULL;
  34.         pila->cantidad = pila->cantidad - 1;
  35.         return aux;
  36.     }
  37.     return NULL;
  38. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top