News:

Download Pelles C here: http://www.pellesc.se

Main Menu

Recent posts

#11
Assembly discussions / Re: Message only window
Last post by Vortex - May 04, 2026, 09:31:57 PM
Here is the 64-bit version.
#12
User contributions / Re: Hint_SA (Standalone)
Last post by John Z - May 04, 2026, 03:54:53 PM
Hint_SA update to 1.2.1

Updates sql from 3.46.1 to 3.53 (sqlite3_b.lib)

No other code changes.

John Z
#13
Add-ins / Re: Hint Add-IN
Last post by John Z - May 04, 2026, 03:13:22 PM
Update:  Since SQLite3 was found to have critical bug before version 3.50, which I was using, I've update to Sqlite3 version 3.53.

Also since I created the new sqlite3.lib I named it sqlite3_b.lib, so if you create your own just replace the name in the project options-linker

Attached are the updated files. Other than the sqlite there are no code changes.
Only 5 downloads for the original so .....


John Z
#14
Bug reports / Re: Undefined label issue
Last post by Vortex - May 03, 2026, 10:36:22 PM
Hi Pelle,

Many thanks.
#15
Feature requests / Re: Enhanced editor suggestion...
Last post by Pelle - May 03, 2026, 09:44:43 PM
I only change the version to upgrade, to a newer version with a feature I must have. This hardly ever happens. Last time was with C11, which introduced atomic types. A handful of projects was improved by this.

Probably more useful in the past, but staying with an older C version may help porting to a different platform. At least no reason to upgrade "just because". Much of recent C enhancements have been cosmetic.
#16
Feature requests / Re: Enhanced snippets suggesti...
Last post by Pelle - May 03, 2026, 09:33:48 PM
Quote from: ander_cc on April 27, 2026, 03:38:57 AMIf I want to use "Surround by" and "Comment" and "No comment", I should select a line first.
Could you add a "auto select current line" feature?
Why? I don't see the point.

Quote from: ander_cc on April 27, 2026, 03:38:57 AMCould you add some shortcuts for "Surround by" and "Comment" and "No comment" ?
"Tools" -> "Customize" -> "Keyboard" --> "Source" is a good start.

Quote from: ander_cc on April 27, 2026, 03:38:57 AMI want to use $0 twice or more. Could you add it?
You cannot view this attachment.
Again, why? You can only surround something once...

#17
Bug reports / Re: Undefined label issue
Last post by Pelle - May 03, 2026, 09:26:37 PM
IMO, this is a bit like asking for trouble.
I may do something about it some day, but I will be in no hurry to do so...
#18
Bug reports / Re: snippets diglog is small
Last post by Pelle - May 03, 2026, 09:22:45 PM
I will try to reproduce this. Right now I can't.
#19
General discussions / Re: Legacy header files
Last post by John Z - May 03, 2026, 12:50:44 PM
About the vulnerability -

From https://nvd.nist.gov/vuln/detail/CVE-2025-6965

"There exists a vulnerability in SQLite versions before 3.50.2 where the number of aggregate terms could exceed the number of columns available. This could lead to a memory corruption issue. We recommend upgrading to version 3.50.2 or above."

Then checking winsqlite3.dll in both System32 and SysWOW64 they were updated 1/18/2026 3:53pm to version 3.51.1 so I think means the issue no longer exists, and the dll's are safe to use.

John Z
#20
Assembly discussions / Self modifying code example
Last post by Vortex - May 03, 2026, 12:37:58 PM
Hello,

A simple example of self modifying code. The procedure in the virtual address space is modified : the sub instruction replaced by add.

.386
.model flat,stdcall
option casemap:none

include     SMCtest.inc

.data

str1        db '80 + 20 = %u',0

.code

start:

    call    main
    invoke  ExitProcess,0

main PROC USES esi edi ebx

LOCAL pMem:DWORD

    invoke  VirtualAlloc,0,4096,\
            MEM_COMMIT or MEM_RESERVE,\
            PAGE_EXECUTE_READWRITE

    mov     pMem,eax
    mov     edi,eax
    mov     esi,OFFSET Calculate

    mov     ecx,ProcLen
    rep     movsb   ; Copy the procedure Calculate
                    ; to virtual address space

    lea     ecx,[eax+4]

                    ; Modify the procedure

    mov     BYTE PTR [ecx],_ADD

    push    80
    push    20
    call    eax

    invoke  printf,ADDR str1,eax

    invoke  VirtualFree,pMem,0,MEM_RELEASE
    ret

main ENDP

OPTION PROLOGUE:NONE
OPTION EPILOGUE:NONE

Calculate PROC a:DWORD,b:DWORD

    mov     eax,DWORD PTR [esp+8]
    sub     eax,DWORD PTR [esp+4]
    retn    2*4

Calculate ENDP

OPTION PROLOGUE:PrologueDef
OPTION EPILOGUE:EpilogueDef

END start