pike.git / src / post_modules / GTK2 / source / gtkdatabox.pre

version» Context lines:

pike.git/src/post_modules/GTK2/source/gtkdatabox.pre:64:    get_all_args("data_add",args,"%A%A%o%i%i",&a1,&a2,&o1,&type,&dot_size);    if (a1==NULL || a2==NULL || a1->size<1 || a2->size<1)    Pike_error("Not arrays!\n");    color=(GdkColor *)get_gdkobject(o1,color);    dw=(struct data_wrapper *)g_malloc(sizeof(struct data_wrapper));    if (dw==NULL)    SIMPLE_OUT_OF_MEMORY_ERROR("data_add",sizeof(struct data_wrapper));    len=MAX(a1->size,a2->size);    dw->X=(gfloat *)g_malloc(sizeof(gfloat)*len);    dw->Y=(gfloat *)g_malloc(sizeof(gfloat)*len); -  if (dw->X==NULL || dw->Y==NULL) +  if (dw->X==NULL || dw->Y==NULL) { +  if(dw->X) g_free(dw->X); +  g_free(dw);    SIMPLE_OUT_OF_MEMORY_ERROR("data_add",sizeof(gfloat)*len*2); -  +  }    for (i=0; i<len; i++) {    dw->X[i]=pgtk_get_float(ITEM(a1)+i);    dw->Y[i]=pgtk_get_float(ITEM(a2)+i);    }    if (THIS->extra_data) {    if (THIS->extra_data->X)    g_free(THIS->extra_data->X);    if (THIS->extra_data->Y)    g_free(THIS->extra_data->Y);    g_free(THIS->extra_data);