디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

glibc에 realloc 버그라도 있음? 설마? -.,-;

애슬론(121.168) 2009.11.03 20:53:09
조회 2118 추천 0 댓글 6




일련의 크기를 알 수 없는 문자열을 입력받아 저장할 일이 있ㅇ서
이중 포인터 써서 realloc으로 크기를 늘려나가고 있는데




[sys1782@localhost pl2]$ ./test5 < source.pas
<program> :="" program="">
<SAMPLE1> : IDENT (nil)

### (nil) ###
<CONST> : CONST
<TEN> : IDENT 0x87e7058

### 0x87e7058 ###
<=> : EQUAL
<10> : DIGIT
<;> : SEMICOLON
<SEVEN> : IDENT 0x87e7058

### 0x87e7058 ###
<=> : EQUAL
<7> : DIGIT
<;> : SEMICOLON
<VAR> : VAR
<SUM> : IDENT 0x87e7058

### 0x87e7058 ###
<,> : COMMA
<DIFF> : IDENT 0x87e7058

### 0x87e7058 ###
*** glibc detected *** ./test5: realloc(): invalid next size: 0x087e7058 ***
======= Backtrace: =========
/lib/libc.so.6[0x877394]
/lib/libc.so.6[0x87af41]
/lib/libc.so.6(realloc+0x106)[0x87bc76]
./test5[0x804a12c]
./test5[0x8048a8b]
./test5[0x804a0db]
/lib/libc.so.6(__libc_start_main+0xe5)[0x81e6d5]
./test5[0x80486b1]
======= Memory map: ========
001b9000-001c6000 r-xp 00000000 08:05 1901848    /lib/libgcc_s-4.3.2-20081105.so.1
001c6000-001c7000 rw-p 0000c000 08:05 1901848    /lib/libgcc_s-4.3.2-20081105.so.1
007e3000-00803000 r-xp 00000000 08:05 1901832    /lib/ld-2.9.so
00804000-00805000 r--p 00020000 08:05 1901832    /lib/ld-2.9.so
00805000-00806000 rw-p 00021000 08:05 1901832    /lib/ld-2.9.so
00808000-00976000 r-xp 00000000 08:05 1901833    /lib/libc-2.9.so
00976000-00978000 r--p 0016e000 08:05 1901833    /lib/libc-2.9.so
00978000-00979000 rw-p 00170000 08:05 1901833    /lib/libc-2.9.so
00979000-0097c000 rw-p 00979000 00:00 0
08048000-0804b000 r-xp 00000000 08:02 32806      /home/sys11782/pl2/test5
0804b000-0804c000 rw-p 00002000 08:02 32806      /home/sys11782/pl2/test5
087e3000-08804000 rw-p 087e3000 00:00 0          [heap]
b7e00000-b7e21000 rw-p b7e00000 00:00 0
b7e21000-b7f00000 ---p b7e21000 00:00 0
b8003000-b8005000 rw-p b8003000 00:00 0
b801f000-b8021000 rw-p b801f000 00:00 0
b8021000-b8022000 r-xp b8021000 00:00 0          [vdso]
bfa0d000-bfa22000 rw-p bffeb000 00:00 0          [stack]
중지됨



아 형들아 이거 왜 이런걸까 포인터값도 체크하면서 하는데 꼭 저 부분에서 터져버리네
뭐지 T_T
참고로 동적으로 할당 안 하고 그냥 처음부터 넉넉하게 잡아주면 그냥 잘 돌아가..
함수 호출할 때마다 realloc으로 재할당 해주고 있는데 이게 그렇게나 문제인가으...</program>>

추가) 코드는 이래 근데 이거 c가 아니라 lex여서..


%{
#include <stdio.h>
enum TOKENS {
TIDENT,
TUNIT,
TPROGRAM,
TCONST,
TVAR,
TINTEGER,
TBEGIN,
TEND,
TPLUS,
TMINUS,
TCOMMA,
TCOLON,
TASSIGN,
TSEMICOLON,
TEQUAL,
TDOT,
TEOF,
};
int IDENT_no = -1;
char **name_table;
void temp();
%}
LETTER  [a-zA-Z_]
DIGIT   [0-9]
%%
PROGRAM printf("<PROGRAM> : PROGRAM\\n");
CONST printf("<CONST> : CONST\\n");
VAR printf("<VAR> : VAR\\n");
INTEGER printf("<INTEGER> : INTEGER\\n");
BEGIN printf("<BEGIN> : BEGIN\\n");
END printf("<END> : END\\n");
\\+ printf("<+> : PLUS\\n");
\\- printf("<-> : MINUS\\n");
\\, printf("<,> : COMMA\\n");
\\: printf("<:> : COLON\\n");
":=" printf("<:=> : ASSIGN\\n");
\\; printf("<;> : SEMICOLON\\n");
\\= printf("<=> : EQUAL\\n");
\\. printf("<.> : DOT\\n");
[\\11] printf("EOF");
{LETTER}({LETTER}|{DIGIT})* printf("<%s> : IDENT %p\\n",yytext,name_table); temp();
{DIGIT}+ printf("<%s> : DIGIT\\n",yytext);
[ \\t\\n]+ ;
. printf("Unrecognized Character\\n");
%%
int main()
{
        name_table=0;
        yylex();
        return 1;
}
void temp()
{
        IDENT_no++;
        printf("\\n ### %p ###\\n",name_table);
        name_table=(char **)realloc(name_table,IDENT_no*sizeof(char *));
        name_table[IDENT_no]=(char *)malloc(sizeof(char));
        //name_table[IDENT_no]=yytext;
        //printf("- %d, %s -\\n",yyleng,name_table[IDENT_no]);
}
int yywrap()
{
        printf("- END -\\n");
        printf("THE NUMBERS OF IDENT : %d\\n",IDENT_no+1);
        return 1;
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
281520 근데 확실히 웹개발자가..... .3(124.137) 11.10.17 80 0
281519 졸립다.. [3] 쿄스케갤로그로 이동합니다. 11.10.17 44 0
281518 그래 개발이 족같지... 534F444D61737465갤로그로 이동합니다. 11.10.17 46 0
281517 전에 누가 핸드폰에서 코딩할수 있는 어플있다고 했던것 같은데 [1] ㅇㅇ(222.113) 11.10.17 89 0
281515 후느님 책 로하로하알로하갤로그로 이동합니다. 11.10.17 46 0
281513 횽들 IOCP게임서버 만들고 있는데 클라이언트 종료에 관해서 질문 하나만 [12] 하루네코(59.25) 11.10.17 182 0
281512 디자인 감각 없는 새끼들 봐라 [2] 시불라미갤로그로 이동합니다. 11.10.17 199 0
281511 안녕형들 [3] 얼빠진호랑이갤로그로 이동합니다. 11.10.17 83 0
281510 급함: 네트웤 배울라면 어느 책 [4] 로하로하알로하갤로그로 이동합니다. 11.10.17 101 0
281509 횽들 논리게이트중에 [3] 멀티.갤로그로 이동합니다. 11.10.17 71 0
281508 네트워크 플밍책 추천좀요 ㅠㅠ [5] 멀티.갤로그로 이동합니다. 11.10.17 102 0
281507 입갤 三didas갤로그로 이동합니다. 11.10.17 37 0
281506 나 이제 리부심 안 돋고 [1] 로하로하알로하갤로그로 이동합니다. 11.10.17 57 0
281505 개발이 족같다 족같다 하지만... [3] .3(124.137) 11.10.17 100 0
281504 쎾쓰! 과제는 쎾쓰야 씨발! [1] 신세이어갤로그로 이동합니다. 11.10.17 73 0
281503 리눅스에서 c 코딩할라하는데 [7] 멀티.갤로그로 이동합니다. 11.10.17 113 0
281502 아 자바횽;; 이거 컴터가 병신이라서 안깔린다.. 아.. 시foot.. [2] 신세이어갤로그로 이동합니다. 11.10.17 62 0
281501 안녕하세요 횽들 질문하나만 올리겠습니다 [3] 늅늅(221.146) 11.10.17 59 0
281498 공모전이 꼭 좋은 것만도 아니구나..; [3] 어떡해갤로그로 이동합니다. 11.10.17 151 0
281497 이클립스 package explorer 아이콘 질문 [1] ㅍㅌ갤로그로 이동합니다. 11.10.17 94 0
281496 웹에 관해서 질문이 있어용 [5] 허허벌판갤로그로 이동합니다. 11.10.17 83 0
281495 전공살린 돈 그냥 그런 회사 vs 전공하고 딴판인데 돈많이주는 대기업 [4] 파괴대마왕(112.121) 11.10.17 115 0
281493 아이폰 앨범을 게시판에 업로드하려는데 [1] ㅂㅈㄷ(210.178) 11.10.17 47 0
281492 IncrediBuild Win7 호환 버전 몇 부터 되는지 아시는 분? Ynobe갤로그로 이동합니다. 11.10.17 45 0
281491 성님들 나 오늘 1시전까지 제출하는 과제가 있는데 도와주세여;; [11] 신세이어갤로그로 이동합니다. 11.10.17 132 0
281490 월욜 아침이라고 회의도 길게하네.. blackd갤로그로 이동합니다. 11.10.17 55 0
281488 STL list를 함수로 어떻게 넘겨줄까 횽들? [2] +어게인갤로그로 이동합니다. 11.10.17 65 0
281487 활기찬 월요일이다!! [1] McHello갤로그로 이동합니다. 11.10.17 53 0
281486 php 하시는 형들 질문 좀.... 완전간단한건데 [2] Dawnwalkre갤로그로 이동합니다. 11.10.17 83 0
281485 으앙이론시험ㅠㅠ 즐쿰갤로그로 이동합니다. 11.10.17 37 0
281484 2012년 대비해서 이거 만들어 팔아라 [3] 시불라미갤로그로 이동합니다. 11.10.17 124 0
281483 게임공학과는 커리큘럼이 어떻게되요? [3] 알오티씨플머갤로그로 이동합니다. 11.10.17 125 0
281482 방송이 중립이 있어야지... iljeomobolt갤로그로 이동합니다. 11.10.17 60 0
281481 힘쎄고 좋은 아침! [1] Aven갤로그로 이동합니다. 11.10.17 43 0
281480 횽들 나 비트 연산자 & 가 급 헷갈리는데... [3] 회색사과갤로그로 이동합니다. 11.10.17 80 0
281478 형들 저 진지하게 고민좀 상담... 저 한강 가야될까요? Stan(110.174) 11.10.17 116 0
281477 내가 학원생들을 싫어하는 이유... [3] sssss(175.204) 11.10.17 169 0
281476 자꾸 해킹당하는데 제발 이것좀봐줘 횽들 ㅠㅠ [3] 살려줘(125.187) 11.10.17 97 0
281475 프갤러들에게 묻습니다. [5] 바보플머(121.190) 11.10.17 136 0
281474 CUDA에 대한 환상...? [2] 이문동쮸쮸바갤로그로 이동합니다. 11.10.17 146 0
281473 "차세대 바다OS에도 음성인식 실린다" [3] %0A(218.158) 11.10.17 113 0
281472 avr같은 mcu 공부하려면 [1] Adelposs갤로그로 이동합니다. 11.10.17 60 0
281471 형님들; 방학때 AVR좀 공부해보고싶은데; 뭐 책같은거 없나요?? [9] Re-FEEL갤로그로 이동합니다. 11.10.17 121 0
281470 횽들 저 잘건데 [2] 일광면(119.198) 11.10.17 90 0
281469 와 이제 로그인된다 알오티씨플머갤로그로 이동합니다. 11.10.17 44 0
281468 헉 이런것도 있네영;; [1] 일광면(119.198) 11.10.17 59 0
281466 솔직히 과제할때 검색하고 복사하는거까진 괜찮은데 [3] 가모가모갤로그로 이동합니다. 11.10.17 79 0
281465 저기 프갤형들 안녕하세요 질문하나 드릴게요 [9] 데클린갤로그로 이동합니다. 11.10.17 95 0
281464 웹질문점 [3] ㅁㄴㅇ(14.45) 11.10.17 67 0
281463 솔직히 비전공자는... [1] 비전공자(116.42) 11.10.17 130 0
뉴스 이시영 "전 남편 동의없이 시험관"…둘째 임신 발표에 '갑론을박' 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2